我有一个非常简单的问题。
我想尝试异步编程,因为我无法绕过lambda表达式,所以决定从那里开始。
为什么要使用此示例:
bool IsLonger(int x, string y) => y.Length > x;
为此:
private bool IsLonger(int x, string y)
{
return y.Length > x ? true:false;
}
如果您不能使用:
/// <summary>
/// Return positive if inteager is higher number than string length
/// </summary>
/// <param name="x">X is our inteager</param>
/// <param name="y">Y is our string</param>
/// <returns></returns>
带有lambda表达式。
因此,如果您与团队一起工作并没有太大用处?
我想发表一些意见,也许我用错误的方式。
谢谢!
答案 0 :(得分:0)
那不是lambda。那是一个表达力强的方法/成员。这只是另一个的简写。
答案 1 :(得分:0)
首先,我要更正此问题:
使用lambda表达式代替函数
正如丹尼尔在回答中所指出的,您在示例中显示的只是an expression bodied member。
使用结合在方法上的表达式不是标准的,而是C#语言支持的更多功能,因此取决于您是否要使用它。
对于适合监视器的短方法主体,我将始终使用表达式主体成员而不是方法,但这将基于主要观点。
第二,对于return y.Length > x ? true:false;
部分,我将通过一个示例进行扩展。如果将y.Length > x
的值保存在一个变量中,它将看起来像这样:
bool condition = y.Length > x;
,然后返回的内容如下:
return condition ? true : false;
现在您将看到直接返回条件更加直观。
return condition;