以表达式作为其表达式的表达式 lambda身体:(input−parameters) => 表达式
以语句块作为其主体的语句 lambda:(input−parameters) => { }
任何 lambda 表达式都可以转换为委托类型。lambda 表达式可以转换为的委托类型由其参数和返回值的类型定义。如果 lambda 表达式不返回值,则可以将其转换为 action 委托类型之一;否则,它可以转换为 func 委托类型之一。
static void main(string[] args){ func<int, int> square = x => x * x; console.writeline(square(5)); console.readline();}
=> 运算符右侧有一个表达式的 lambda 表达式称为表达式 lambda。表达式 lambda 返回表达式的结果,并采用以下基本形式
action line = () => console.writeline();
funccube = x => x * x * x;
func testforequality = (x, y) => x == y;
func istoolong = (int x, string s) => s.length > x;
c# 7.0 中,c# 语言提供了对元组的内置支持。您可以提供一个元组作为 lambda 表达式的参数,并且您的 lambda 表达式也可以返回一个元组。
lambda 表达式中引入的变量在封闭方法中不可见。
lambda 表达式无法直接从封闭方法捕获 in、ref 或 out 参数。
lambda 表达式中的 return 语句不会导致封闭方法返回。
如果跳转语句的目标位于 lambda 表达式块之外,则 lambda 表达式不能包含 goto、break 或 continue 语句。如果目标位于 lambda 表达式块内部,则在 lambda 表达式块外部使用跳转语句也是错误的。
以上就是c#中的lambda表达式是什么?的详细内容。
