在C#中,“=>”是什么意思?

5
我看到了这段代码:

可能是重复问题:
Lambda 解释以及一个好的例子
=> 符号叫什么?

这是代码:

myContext.SomeEntities.Single(x => x.code == code);  

我不知道 => 这个操作符是做什么用的。

在谷歌上搜索这个操作符并没有返回结果。

谢谢。


类似的:https://dev59.com/cW025IYBdhLWcg3wqX1o表达式的意义是什么? - user195488
https://dev59.com/pHVC5IYBdhLWcg3wfxQ8 - Bob G
@Steve:这真的是一个重复的问题吗?你问题中的用户知道什么是lambda表达式,而@Javiere不知道。他正在问“=>”是什么,就像有人会问“!”标志是什么一样。 - user195488
1
谷歌无法处理搜索 =>,请搜索 lambda。 - Nix
@0A0D - 我不知道,那个 q 看起来对我来说已经涵盖了所需的语法和语义。 - Steve Townsend
5个回答

15
=> 运算符表示一个Lambda 表达式

Lambda 表达式是匿名函数,可以包含表达式和语句,并可用于创建委托或表达式树类型。

所有 Lambda 表达式都使用 lambda 运算符 =>,它被读作“goes to”。lambda 运算符的左侧指定输入参数(如果有),右侧保存表达式或语句块。Lambda 表达式 x => x * x 读作“x goes to x times x”。此表达式可以分配给委托类型:

static void Main(string[] args)
{
    Func<int, int> func = x => x * x;
    int j = func(5);
    // j == 25
}

我也见过/听说过“映射到”而不是“转到”。 - Richard J Foster
即使这已经被提及过了,但你花费更多时间复制粘贴引用并提供一个例子,这值得点赞。 - Nix
@Richard:或者是“为了哪个”。 - user195488

2

2

2
这是定义一个lambda函数。你可以把它理解为“x的code等于code”,意思是根据给定的x,返回给定比较的结果。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接