Lambda 表达式
"Lambda 表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式, Lambda 简
化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式
目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有 Lambda
表达式都使用 Lambda 运算符=>,该运算符读作"goes to"。Lambda 运算符的左边是输入参
数(如果有),右边是表达式或语句块。Lambda 表达式 x => x * x 读作"x goes to x mes x"。可
以将此表达式分配给委托类型,如下所示:
delegate int del(int i);
del myDelegate = x => x * x;
int j = myDelegate(5); //j = 25
Lambda 表达式 Lambda 表达式是由.NET 2.0 演化而来的,也是 LINQ 的基础,熟练地掌握
Lambda 表达式能够快速地上手 LINQ 应用开发。
Lambda 表达式在一定程度上就是匿名方法的另一种表现形式。为了方便对 Lambda 表达式
的解释,首先需要创建一个 People 类,示例代码如下。
public class People
{
public int age { get; set; } //设置属性
public string name { get; set; } //设置属性
public People(int age,string name) //设置属性(构造函数构造)
{
this.age = age; //初始化属性值 age
this.name = name; //初始化属性值 name
}
}
上述代码定义了一个 People 类,并包含一个默认的构造函数能够为 People 对象进行年龄和
名字的初始化。在应用程序设计中,很多情况下需要创建对象的集合,创建对象的集合有
利于对对象进行搜索操作和排序等操作,以便在集合中筛选相应的对象。使用 List 进行泛
型编程,可以创建一个对象的集合,示例代码如下。
List<People> people = new List<People>(); //创建泛型对象
People p1 = new People(21,"guojing"); //创建一个对象
People p2 = new People(21, "wujunmin"); //创建一个对象
People p3 = new People(20, "muqing"); //创建一个对象
People p4 = new People(23, "lupan"); //创建一个对象
people.Add(p1); //添加一个对象
people.Add(p2); //添加一个对象
people.Add(p3); //添加一个对象
people.Add(p4); //添加一个对象
上述代码创建了 4 个对象,这 4 个对象分别初始化了年龄和名字,并添加到 List 列表中。
当应用程序需要对列表中的对象进行筛选时,例如需要筛选年龄大于 20 岁的人,就需要从
列表中筛选,示例代码如下。
评论4