我很少见到其他程序员!
当我第一次看到这个标记时,我的 idea 是"暗示",因为这是它在数学证明中的解读,但这显然不是它的意义.
So how do I say or read "=>" as in:-
IEnumerable<Person> Adults = people.Where(p => p.Age > 16)
还是有一种一致的表达方式?
我很少见到其他程序员!
当我第一次看到这个标记时,我的 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.
这看起来确实比本例中的"变成"更接近代码的实际意图.