它是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 propertypublic int IsValid => name != null && id != -1;// expression-bodied methodpublic int GetHashCode() => id.GetHashCode();
也可以看看:
- 匿名方法(C#2.0)和lambda表达式(C#3.0)有什么区别
- 什么是Lambda?
- C#Lambda表达式,为什么要使用它?
(实际上还有很多类似的问题-
尝试使用lambda和lambda-
expressions标签。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)