0

我在示例代码中看到了 => 的使用,但我不知道这个操作数叫什么。因为这个词只是符号,谷歌搜索不是很有帮助。

以下是它的使用示例:

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

这个问题与那些公然标记为“重复”的问题不同。我正在寻找表达式的名称,以便研究如何使用它。所谓的重复项是针对已经知道 => 被称为 lambda 表达式的人。

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

4

5 回答 5

5

它被称为Lambda 运算符

要创建 lambda 表达式,请在lambda 运算符 =>的左侧指定输入参数(如果有),并将表达式或语句块放在另一侧。例如,lambda 表达式 x => x * x 指定一个名为 x 的参数并返回 x 的平方值。

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

=>运算符可以读作“goes to”,并且总是在声明 lambda 表达式时使用。

于 2013-04-13T19:59:45.243 回答
3

这用于lambda 表达式。本质上, Where 函数所接受的是另一个遍历集合的函数。=> 的左侧定义参数,右侧是实际运行的函数。

于 2013-04-13T20:01:13.697 回答
2

它被称为lambda 运算符,它是lambda 表达式语法的一部分。

Lambda 表达式是创建匿名方法的非常简洁的方式。

匿名方法示例:

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

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

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

如图所示,这种语法是编写匿名方法的一种很好的速记符号,其中可以将一堆参数传递到一组语句中进行处理。.NET 平台中将委托对象作为参数的任何方法都可以替换为相关的 lambda 表达式,这通常会大大简化您的代码库。

于 2013-04-13T19:58:40.957 回答
1

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

于 2013-04-13T19:59:19.720 回答
1

=>是一个lambda 运算符,请查看链接以了解更多信息。

另请查看答案以获取更多详细信息。

于 2013-04-13T20:00:02.263 回答