如何发音 "=>",它在 .Net 的 lambda 表达式中使用。

68 浏览
0 Comments

如何发音 "=>",它在 .Net 的 lambda 表达式中使用。

我很少见到其他程序员!\n当我第一次看到该符号时,我的想法是“暗示”,因为在数学证明中它的含义就是这样,但显然这不是它的意思。\n那么,我该如何表达或读取“=>”的意思,比如在以下代码中:\n

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

\n或者,甚至有没有一种约定俗成的说法呢?

0
0 Comments

问题的出现的原因:在.NET中使用lambda表达式时,有些开发者不知道如何正确地发音"=>"。这可能导致在代码审查或电话会议等情况下,无法准确地传达lambda表达式的含义。

解决方法:根据Eric Lippert的建议,可以采用以下方式来发音"=>":

- 对于投影操作,例如(Customer c)=>c.Name,可以发音为"customer see becomes see dot name"。

- 对于谓词操作,例如(Customer c)=>c.Age > 21,可以发音为"customer see such that see dot age is greater than twenty-one"。

- 在LINQ团队工作期间,"Goes to"是最常听到的短语。

这些发音方法可以帮助开发者更准确地传达lambda表达式的含义,确保团队成员之间的沟通顺畅。

0
0 Comments

在.NET中使用lambda表达式时,有一个操作符“=>”,它的发音是"goes to"。这个发音在VS2010版本的文档中是正确的,但在VS2012版本的文档中被移除了。不过,现在所有的VS版本都已经恢复了这个发音。

其中一个回答提到,在MSDN文档中已经找不到"goes to"这个词了。但是,我记得在2010年左右,一个导师告诉我,lambda函数应该读作“goes to”,这也是我一直以来的读法。然而,看到这个问题后,我觉得读作“such that”更有意义。

0
0 Comments

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

在你的例子中,p => p.Age > 16读作“P,使得p.Age大于16。”

实际上,我在官方的linq预发布论坛上问了这个问题,Anders Hejlsberg回答说

我通常将=>操作符读作“变成”或“对于”。例如,

Func f = x => x * 2;

Func test = c => c.City == "London";

读作“x变为x * 2”和“c,使得c.City等于London”

至于“goes to”-这对我来说从来没有意义。 'p'没有去任何地方。

在读取代码给别人听的情况下,比如通过电话,只要他们是C#程序员,我会使用“lambda”这个词-也就是说,“p lambda p dot age大于十六。”

在评论中,Steve Jessop提到了在转换的情况下使用“maps to”-所以以Anders的例子为例:

x => x * 2;

将读作

x maps to x times 2.

这似乎比“becomes”更接近代码的实际意图,对于这种情况来说。

这只在lambda被用作过滤器时才准确。

“Goes to”是“填充堆栈帧”的一个不那么尴尬的渲染方式

我真的不喜欢“x变为x * 2”;x是一个输入,在整个过程中保持不变。以这种方式阅读听起来像是一个赋值操作。

哈哈,非常正确。=)安-我倾向于同意,尽管我想不出更好的转换示例。也许是'转换为'?

在这种情况下,我会说“maps to”。那么有一点风险,人们会认为你在谈论一个容器,但你可以通过在第一次说的时候解释清楚,你的意思是“lambda运算符,你知道,等于号大于号”。

我在Adam Freeman的Visual C# 2010和2008年的LINQ in Action中看到过“goes to”。我对此不感兴趣,决定开始将其发音为“for which”。考虑到Hejlsberg是C#的架构师,我很高兴他也选择了这种方式。

0