ckv*_*ckv 27 c# linq lambda anonymous-function c#-4.0
表达式lambda和语句lambda之间有区别吗?
如果是这样,有什么区别?
在下面的链接中发现了这个问题,但无法理解答案什么是Expression Lambda?
该链接中提到的答案是这个 带有右侧表达式的lambda表达式称为表达式lambda.
根据我的理解,表达式始终只在右侧.这就是我提出这个问题的原因.有什么我不知道的吗?
Eri*_*ert 44
这确实令人困惑的行话; 我们无法想出更好的东西.
一个lambda表达式是包罗万象的术语,任何这些:
x => M(x)
(x, y) => M(x, y)
(int x, int y) => M(x, y)
x => { return M(x); }
(x, y) => { return M(x, y); }
(int x, int y) => { return M(x, y); }
Run Code Online (Sandbox Code Playgroud)
前三个是表达式lambdas,因为lambda运算符的右侧是表达式.最后三个是语句lambda,因为lambda运算符的右边是一个块.
这也说明左侧有三种可能的语法:单个参数名称或无类型参数的括号列表,或带括号的参数列表.
Chi*_*ils 16
是的 - 或者我应该说一个定义另一个.
一个lambda表达式允许你指定简单的匿名函数.
一个表达式拉姆达 是一个类型,其具有以拉姆达运算符右侧的表达拉姆达.
另一种类型的lambda表达式是一个语句lambda,因为它包含一个语句块{...}到表达式的右侧.
number => (number % 2 == 0)number => { return number > 5 }一个lambda表达式是一个语法,可以让你没有名字直接创建您的代码中的功能,作为一种表达.
有两种lambda表达式,具体取决于它们的主体:
(i, j) => i + j(i, j) => { return i + j; }| 归档时间: |
|
| 查看次数: |
6021 次 |
| 最近记录: |