C# 3.0特性之Lambda表达式2010-06-13SpadeQAttention: 本文内容包括示例来源均参考自Joseph C. Rattz, Jr.的Pro Linq一书。Lambda表达式是MS在C# 3.0中引入的。Lambda表达式最早可见于LISP语言,美国数学家Alonzo Church在1936年将其概念化。这种表达式为描述算法提供了一种简便的手段。在引入Lambda表达式之前,我们先看一看在这之前,将一个算法作为参数传递给一个方法是如何做到的。使用命名方法(Named Methods)在C# 2.0之前,可以使用委托(delegate)来完成这项工作。比如考虑这样一个应用,对数组元素按照一定的规则进行过滤,对于通用模块,可以写成下面的样子:public class Common { public delegate bool IntFilter(int i);
public static int[] FilterArrayOfInt(int[] ints,IntFilter filter) { ArrayList aList = new ArrayList(); foreach (int i in ints) { if (filter(i)) { aList.Add(i); } }