VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 网站开发 > ASP.net 4.0教程 >
  • asp.net教程之Lambda表达式格式

Lambda表达式格式

Lambda表达式是匿名方法的另一种表现形式。比较Lambda表达式和匿名方法,在匿名方法中,“(”,“)”内是方法的参数的集合,这就对应了Lambda表达式中“(参数列表)”,而匿名方法中“{”,“}”内是方法的语句块,这也对应了Lambda表达式“=>”符号右边的表达式和语句块项。由于Lambda表达式是一种匿名方法,所以Lambda表达式也包含一些基本格式,这些基本格式如下所示。
Lambda表达式可以有多个参数,一个参数,或者无参数。其参数类型可以隐式或者显式。示例代码如下所示:
(x, y) => x * y                                                                                                  //多参数,隐式类型=> 表达式
x => x * 5                                                                                                         //单参数, 隐式类型=>表达式
x => { return x * 5; }                                                                                       //单参数,隐式类型=>语句块
(int x) => x * 5                                                                                                 //单参数,显式类型=>表达式
(int x) => { return x * 5; }                                                                               //单参数,显式类型=>语句块
() => Console.WriteLine()                                                                            //无参数
上述格式都是Lambda表达式的合法格式,在编写Lambda表达式时,可以忽略参数的类型,因为编译器能够根据上下文直接推断参数的类型,示例代码如下所示。
(x, y) => x + y                                                                                                  //多参数,隐式类型=> 表达式
Lambda表达式的主体可以是表达式也可以是语句块,这样就节约了代码的编写。
注意:Lambda表达式与匿名方法的另一个不同是,Lambda表达式的主体可以是表达式也可以是语句块,而匿名方法中不能包含表达式。
Lambda表达式中的表达式和表达式体都能够被转换成表达式树,这在表达式树的构造上会起到很好的作用,表达式树也是LINQ中最基本最重要的概念。

相关教程