一尘不染

如何在.Net中的lambda表达式中发音“ =>”

c#

我很少遇到其他程序员!

当我第一次看到令牌时,我的想法是“暗示”,因为这就是它在数学证明中的读法,但显然不是它的意义。

因此,我该如何说或读“ =>”,如:

IEnumerable<Person> Adults = people.Where(p => p.Age > 16)

还是什至有一种同意的说法?


阅读 315

收藏
2020-05-19

共1个答案

一尘不染

在阅读该运算符时,我通常会说“诸如此类”。

在您的示例中,p => p.Age> 16读为“ P,因此p.Age大于16”。

实际上,我在linq正式发布前论坛上曾问过这个问题,Anders Hejlsberg回答说

我通常将=>运算符读为“ becomes”或“ for which”。例如,
Func f = x => x * 2;
Func test = c => c.City ==“伦敦”;
读作“ x变成x * 2”和“ c.city等于伦敦的c”

至于“去”-这对我来说从来没有道理。’p’不会去任何地方。

在通过电话向某人读取代码的情况下,只要他们是C#程序员,我就只使用“ lambda”一词-也就是说,“ p lambda p点年龄大于-十六。”

史蒂夫·杰索普(Steve Jessop)在评论中提到了转换时的“映射到”-因此以安德斯(Anders)为例:

x => x * 2;

会读

x映射到x乘以2。

在这种情况下,这似乎比“成为”更接近代码的实际意图。

2020-05-19