【C#】Lambda表达式

来源:互联网 发布:网络变压器品牌 编辑:程序博客网 时间:2024/06/08 01:25

Lambda表达式格式

  Lambda表达式是在C#3.0中提出的,Lambda表达式可以应用于任何匿名方法可以应用的场合,而且比匿名方法更节省编码时间。
  Lambda表达式可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。一个Lambda表达式是这样编写的:一个参数列表、Lambda运算符(=>)和表达式(或语句块),例如:

(int x, int y) => (x * y)

  代码中的(int x, int y)为参数列表,=>( 发音:goes to)为Lambda运算符,(x * y)即为表达式。
两点说明:
1. Lambda表达式参数列表中的参数数量可以为空、一个或多个。
2. Lambda表达式的语句块应放在大括号内,例如:

(参数列表) => (语句块)

实例:使用Lambda表达式设定查询条件

定义一个int类型的数组,使用Lambda表达式查询数组中为2倍数的项,代码如下:

 public void LambdaDemo(){    int[] arr = { 2,26,8,1,0,9};    List<int> a = new List<int> { 2,5,6,7};    //定义数组    var result = a.Find((int i) => (i % 2 == 0)); //使用Lambda表达式    MessageBox.Show(result + "最后一个");    var result2 = arr.Where((int i) => (i % 2 == 0)); //使用Lambda表达式    foreach (var item in result2) //遍历查询结果    {        MessageBox.Show(item.ToString());    }}

打印结果:2,最后一个
     2,26,8,0