什么是=>调用以及如何在C#中使用它

时间:2013-04-13 19:56:50

标签: c#

我见过=>在示例代码中使用,但我不知道这个操作数被调用了什么。由于该术语只是符号,因此Google搜索不是很有用。

以下是其使用示例:

var rolesAllowed = rolePermission.Where(permission => permission.Permissions.Any(p => Demand.HasFlag(p.Type))).ToList();

这个问题与那些肆无忌惮地标记为"复制"的问题不同。我正在寻找表达的名称,以便我可以研究如何使用它。所谓的重复项目适用于已经知道=>的人。被称为lambda表达。

我要感谢那些花时间阅读和理解问题并发布质量回复的人。

5 个答案:

答案 0 :(得分:5)

它被称为 Lambda operator

  

要创建lambda表达式,请指定输入参数(如果有)   在 lambda operator => 的左侧,然后放置表达式   或另一方的声明块。例如,lambda   表达式x => x * x指定一个名为x并返回的参数   x平方的值。

Lambda表达式使用特殊语法。它们允许将函数用作变量或字段等数据。 lambda表达式语法使用=>运算符。这将分隔 anonymous function 的参数和语句体。

=>运算符可以读作“转到”,并且在声明lambda表达式时始终使用它。

答案 1 :(得分:3)

用于lambda expressions。基本上,Where函数接收的是另一个遍历集合的函数。 =>的左侧定义参数,右侧是运行的实际函数。

答案 2 :(得分:2)

它被称为lambda operator,它是lambda expression语法的一部分。

Lambda表达式是创建anonymous methods的非常简洁的方法。

匿名方法示例:

button1.Click += delegate(System.Object o, System.EventArgs e)
                   { MessageBox.Show("Click!"); };

相同的代码,但这次使用lambda表达式:

button1.Click += (o,e) => MessageBox.Show("Click!"); 

如图所示,这种语法是一种 创建匿名方法的简短表示法,可以传递一堆参数 进入一组语句进行处理。 .NET平台中采用委托对象的任何方法 作为参数可以用相关的lambda表达式替换,这通常会简化你的 代码库相当多。

答案 3 :(得分:1)

这是lambda operator,它创建一个lambda表达式,就像一个匿名方法。

答案 4 :(得分:1)

=> lambda operator,请查看链接以了解详情。

另请查看this答案了解详情。