最近一篇文章的答案(模仿时间的任何机会()C#中的Ruby方法?)在使用示例中使用 => 运算符。这个运营商做什么?我无法在我的C#书中找到它,并且很难在网上搜索这样的符号。 (我找不到。)
答案 0 :(得分:15)
它本身并不是一个运算符,它是lambda表达式语法的一部分。特别是=>是将参数与lambda表达式的主体分开的位。
你的书是否涵盖C#3.0?如果没有,它将不包括lambda表达式。如果确实如此,它应该真正涵盖它们!希望使用正确的术语,您将能够在TOC或索引中找到它。
编辑:更多信息:lambda表达式是一段语法糖,用于创建委托或表达式树的实例(后者是.NET 3.5的新增功能)。 Lambda表达式几乎完全取代了匿名方法(来自C#2.0),尽管它们不像匿名方法那样支持“我不关心参数”的概念。
答案 1 :(得分:1)
这将是一个lambda表达式:
http://msdn.microsoft.com/en-us/library/bb397687.aspx
这里有一个例子:
MyControl.OnMouseDown += (sender, e) =>
{
// Do something in the mouse down event
};
这里我创建了一个lambda表达式事件委托。它基本上使我不必在课堂上为它创建一个单独的函数。
答案 2 :(得分:1)
lambda表达式是一个匿名函数,可以包含表达式和语句,可用于创建委托或表达式树类型。
所有lambda表达式都使用lambda operator =>,它被读作“转到”。 lambda运算符的左侧指定输入参数(如果有),右侧包含表达式或语句块
答案 3 :(得分:1)