Lambda expression used to declare an expression tree

image_pdfimage_print

using System;
using System.Linq;
using System.Linq.Expressions;

class Program {
static void Main(string[] args) {
Expression> isOddExpression = i => (i & 1) == 1;
ParameterExpression param = Expression.Parameter(typeof(int), “i”);
Expression> isOdd =
Expression.Lambda>(
Expression.Equal(
Expression.And(
param,
Expression.Constant(1, typeof(int))),
Expression.Constant(1, typeof(int))),
new ParameterExpression[] { param });

Func isOddCompiledExpression = isOddExpression.Compile();
for (int i = 0; i < 10; i++) { if (isOddCompiledExpression(i)) Console.WriteLine(i + " is odd"); else Console.WriteLine(i + " is even"); } } } [/csharp]

This entry was posted in LINQ. Bookmark the permalink.