为什么我使用 lambda 表达式而不是函数?

Why do I use lambda expressions instead of functions?

我有一个非常简单的问题。

我想尝试异步编程,但由于我无法全神贯注于 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 表达式。
所以团队合作用处不大?

我想发表一些意见,也许我的处理方式不对。
谢谢!

那不是 lambda。那是一个表达式体method/member。这只是另一个shorthand。

首先我想纠正一下:

use lambda expressions instead of functions

正如丹尼尔在他的回答中指出的那样,您在示例中展示的只是 an expression bodied member

在方法之上使用表达式不是标准,而是 C# 语言支持的更多功能,因此何时使用和不使用由您决定。

对于适合监视器的简短方法体,我总是使用表达式体成员而不是方法,但这是基于主要意见的答案。

其次,对于 return y.Length > x ? true:false; 部分,我将通过示例对其进行扩展。如果将 y.Length > x 的值保存到一个变量中,它看起来像这样:

bool condition = y.Length > x;

然后 return 看起来像这样:

return condition ? true : false;

现在你会发现直接return条件更直观。

return condition;