C#中的'=>'语法是什么意思?

我只是在这个论坛中的一些问题中提到了这种语法,但是Google和任何其他搜索引擎都倾向于在搜索中屏蔽除字母和数字以外的任何内容,因此无法搜索出“ =>”。

有人能告诉我它是什么以及如何使用吗?

回答:

它是lambda运算符。

从C#3到C#5,仅用于lambda表达式。这些基本上是C#2中引入的匿名方法的较短形式,但也可以转换为表达式树。

举个例子:

Func<Person, string> nameProjection = p => p.Name;

等效于:

Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };

在这两种情况下,您都将创建一个带有Person参数的委托,并返回该人的姓名(作为字符串)。

在C#6中,相同的语法用于 表示体成员 ,例如

// Expression-bodied property

public int IsValid => name != null && id != -1;

// Expression-bodied method

public int GetHashCode() => id.GetHashCode();

也可以看看:

  • 匿名方法(C#2.0)和lambda表达式(C#3.0)有什么区别
  • 什么是Lambda?
  • C#Lambda表达式,为什么要使用它?

(实际上还有很多类似的问题-

尝试使用lambda和lambda-

expressions标签。)

以上是 C#中的&#39;=&gt;&#39;语法是什么意思? 的全部内容, 来源链接: utcz.com/qa/415781.html

回到顶部