'=>'是什么意思?

时间:2011-09-29 05:51:54

标签: c# lambda

=>的含义是什么?这是一个代码快照:

Dispatcher.BeginInvoke((Action)(() => { trace.Add(response); }));

7 个答案:

答案 0 :(得分:7)

它是lambda表达式,它是匿名委托的简化语法。它写着'去'。相当于Dispatcher.BeginInvoke((Action)delegate() { trace.Add(response); });

答案 1 :(得分:2)

=>是lambda表达式运算符,表示代码是lambda表达式。

( param ) => expr(int x) = > { return x + 1 };

param => exprx=> x + 1;>

什么是Lambda表达式?

* Lambda expression is replacement of the anonymous method avilable in C#2.0 Lambda 
  expression can do all thing which can be done by anonymous method.
* Lambda expression are sort and function consist of single line or block of statement.

了解详情:Lambda Expressions

答案 2 :(得分:1)

=>是一个名为Lambda Operator的运算符

用于创建lambda expression

答案 3 :(得分:1)

答案 4 :(得分:0)

这是一个lambda运算符,读起来像“转到”

答案 5 :(得分:0)

这个“=>”表示在C#中使用lambda表达式语法。

此语法自.NET 3.5中的Visual Studio 2008(C#3.0)开始提供。这是MSDN official documentation of lambda expression in C#

上面的代码与自C#2.0以来已经可用的匿名代理相同

您的代码:

Dispatcher.BeginInvoke((Action)(() => { trace.Add(response); })); 

被翻译成:

Dispatcher.BeginInvoke(new delegate () { trace.Add(response); });

这两个代码基本上具有相同的语义。

答案 6 :(得分:0)

值得注意的是,单个表达式lambda不需要身体周围的{},也不需要分号,因此您可以(略微)将代码简化为。

Dispatcher.BeginInvoke((Action)(() => trace.Add(response) ));