我只是在这个论坛中的一些问题中提到了这种语法,但是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参数的委托,并返回该人的姓名(作为字符串)。
Person
在C#6中,相同的语法用于 表示体成员 ,例如
// Expression-bodied property public int IsValid => name != null && id != -1; // Expression-bodied method public int GetHashCode() => id.GetHashCode();
也可以看看:
(实际上还有很多类似的问题- 尝试使用lambda和lambda- expressions标签。)