Lambda表达式:是一个匿名委托,是一种高效的类似于函数式编程的表达式,也是LINQ的基础。
Lambda表达式可以有多个参数、一个参数,或者没有参数。其参数类型可以隐式或者显式。示例代码如下:
- (x, y) => x * y //多参数,隐式类型=> 表达式
- x => x * 5 //单参数, 隐式类型=>表达式
- x => { return x * 5; } //单参数,隐式类型=>语句块
- (int x) => x * 5 //单参数,显式类型=>表达式
- (int x) => { return x * 5; } //单参数,显式类型=>语句块
- () => Console.WriteLine() //无参数 注:无参数必须显式写()
例:
Func<string,int>strLength=delegate(stringstr){returnstr.Length;};//匿名委托
strLength=(stringstr)=>{returnstr.Length;};//(显式类型参数列表)=> {语句},lambda表达式最冗长版本
strLength=(stringstr)=>str.Length; //(显式类型参数列表)=> 表达式
strLength=(str)=>str.Length;//(隐式类型参数列表)=> 表达式
strLength=str=>str.Length;//参数名 => 表达式
本文来自博客园,作者:尾牙衣子,转载请注明原文链接:https://www.cnblogs.com/sunpan/p/5674348.html