我很少见到其他程序员!

当我第一次看到这个标记时,我的 idea 是"暗示",因为这是它在数学证明中的解读,但这显然不是它的意义.

So how do I say or read "=>" as in:-

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

还是有一种一致的表达方式?

推荐答案

我在读那个运算符时通常会说"这样".

In your example, p => p.Age > 16 reads as "P, such that p.Age is greater than 16."

事实上,我在正式的Linq预发行版论坛上问了这个问题,Anders Hejlsberg回应说

I usually read the => operator as "becomes" or "for which". For example,
Func f = x => x * 2;
Func test = c => c.City == "London";
reads as "x becomes x * 2" and "c for which c.City equals London"

至于"go "——这对我来说从来没有意义p’哪儿也go 不了.

在向某人朗读代码的情况下,比方说,通过电话,那么只要他们是C#程序员同事,我就会使用单词‘lambda’-也就是,"p lambda p dot age大于16".

史蒂夫·杰索普(Steve Jessop)在 comments 中提到,在转换的情况下,"映射到"--以安德斯为例:

x => x * 2;

会读

x映射到x乘以2.

这看起来确实比本例中的"变成"更接近代码的实际意图.

.net相关问答推荐

为什么在WinForm应用程序中创建组件类椭圆会在www.example.com中没有响应

避免函数和其他对象之间的相互递归的模式?

PowerShell - 如果用户输入凭据,则查询 AD 时出错

为什么 GetShortestDayName 返回的名称比预期的短?

在.NET C#中截断整个单词的字符串

Erlang 的让它崩溃的哲学 - 适用于其他地方吗?

如何使用 Moq 为不同的参数设置两次方法

为什么 StyleCop 建议在方法或属性调用前加上this?

为什么 Any() 不适用于 c# null 对象

来自奥尔森时区的 .NET TimeZoneInfo

.NET - 实现捕获所有异常处理程序的最佳方法是什么

使用 .NET 中的代码更改桌面墙纸

我可以在没有两个查询的情况下通过布尔标准将 IEnumerable 一分为二吗?

如何保护我的 .NET 程序集免受反编译?

一个接口是否应该继承另一个接口

用 double 替换 int 时的 Visual Studio 长编译

无法加载文件或程序集System.ValueTuple

使用 C# 将时间跨度值转换为格式hh:mm Am/Pm

任何人都知道缺少枚举通用约束的好方法吗?

SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 有什么区别?