C# lambda表达式
1.什么是lambda表达式:Lambda 表达式,是一种简化的匿名函数,可用于创建委托或表达式目录树。其次,也可以将 Lambda 表达式作为参数进行传递,或者将它作用于函数调用值调用后返回的一个函数来使用。经常在 LINQ 中使用 Lambda 表达式。
2.Lambda表达式:表达式在 => 运算符右侧,称“lambda 表达式”。lambda 表达式常用于 LINQ 和构建表达式树,它也允许返回结果。基本形式:( 输入参数 ) => 表达式 。
3.lambda 语句和上面的 lambda 表达式相比,只是多了个大括号(“{ }”)。
基本形式:( 输入参数 ) => { 表达式 } 。
4.通过 async 和 await 关键字,我们可以很简单并快速的创建包含异步处理的 lambda 表达式和语句。
1) Async
2) Await
5.在Linq中使用Lambda
许多 LINQ 中的参数都是一种委托类型的参数,如 Func<T, TResult>,可以定义输入参数以及返回类型。
public delegate TResult Func<TArg0, TResult>(TArg0 arg0)
Func<int, bool> 表示:int 为输入参数,bool 为返回值。
Func<int, int, bool> 表示:2个 int 为输入参数,一个 bool 为返回值。
示例:
1) Func<int, bool> myFunc = x => x == 250;
2) var result = myFunc(1314);
6.Lambda的特点
1) Lambda 中包含输入参数的数量,必须与委托类型包含的参数数量一致。
2) Lambda 中的每个输入参数,必须都能够通过隐式转换为其对应的委托参数类型
3) Lambda 中的返回值(如果有),必须能够隐式转换为委托的返回类型