using System; using System.Linq; using System.Linq.Expressions; using System.Collections.Generic; namespace ConsoleApp1 { class Program { static void Main(string[] args) { int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8 }; var param = Expression.Parameter(typeof(int), "x"); var modexp = Expression.Modulo(param, Expression.Constant(2)); var body = Expression.Equal(modexp, Expression.Constant(0)); Expression> cond = Expression.Lambda>(body, param); var query = arr.Where(cond.Compile()); foreach (int x in query) Console.Write(x + "\t"); } } }