using System.Linq.Expressions;
public static void Main()
Console.WriteLine("****************** C# Equivalent Output **************************\n\n");
Expression<Func<int, bool>> cExpression = val => val < 10;
var cResults = cExpression.Compile();
Console.WriteLine(cResults(15));
Console.WriteLine(cResults(9));
Console.WriteLine("\n\n***************** Expression Tree Output **************************\n\n");
ParameterExpression numParam = Expression.Parameter(typeof(int), "val");
ConstantExpression ten = Expression.Constant(10, typeof(int));
BinaryExpression numLessThanTen = Expression.LessThan(numParam, ten);
Expression<Func<int, bool>> expression =
Expression.Lambda<Func<int, bool>>(
new ParameterExpression[] { numParam });
var eResults = expression.Compile();
Console.WriteLine(eResults(15));
Console.WriteLine(eResults(9));