class Program

{
static void TestLambdaExpression()

{
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Add(4);

List<int> evenNumbers = list.FindAll(delegate(int i)
{ return (i % 2) == 0; } );
foreach (int evenNumber in evenNumbers)
{
Console.WriteLine(evenNumber);
}
}
}
static void Main(string[] args)

{
TestLambdaExpression();
}
匿名方法避免了一些“极小函数”的出现,适当使用可以提高代码的可阅读性,显得清爽一点。
(List的FindAll方法需要一个Delegate参数,所以我们可以这样谢哈)
在C# 3.0中,我们可以这样写:
static void TestLambdaExpression()

{
var list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Add(4);
var evenNumbers = list.FindAll(i => (i % 2) == 0);
foreach (int evenNumber in evenNumbers)

{
Console.WriteLine(evenNumber);
}
}
fruit.FilterBy((string name, double price) => name == "banana" && price < 2.00);
using System.Expressions;
static void Main(string[] args)

{
Expression<Func<int, bool>> filter = n => (n * 3) < 5;
BinaryExpression lt = (BinaryExpression) filter.Body;
BinaryExpression mult = (BinaryExpression) lt.Left;
ParameterExpression en = (ParameterExpression) mult.Left;
ConstantExpression three = (ConstantExpression) mult.Right;
ConstantExpression five = (ConstantExpression) lt.Right;
Console.WriteLine("({0} ({1} {2} {3}) {4})", lt.NodeType,
mult.NodeType, en.Name, three.Value, five.Value);
}