什么是C#operator =>意思?

时间:2008-10-07 13:47:32

标签: c# operators

最近一篇文章的答案(模仿时间的任何机会()C#中的Ruby方法?)在使用示例中使用 => 运算符。这个运营商做什么?我无法在我的C#书中找到它,并且很难在网上搜索这样的符号。 (我找不到。)

4 个答案:

答案 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运算符的左侧指定输入参数(如果有),右侧包含表达式或语句块

http://msdn.microsoft.com/en-us/library/bb397687.aspx

答案 3 :(得分:1)

=> token被称为 lambda运算符

它在lambda表达式中用于将左侧的输入变量与右侧的lambda体分开。

MSDN