Chr*_*rds 159 .net c# lambda conventions
我很少遇到任何其他程序员!
当我第一次看到令牌时,我的想法是"暗示",因为这就是它在数学证明中所读到的,但显然不是它的意义.
那么如何说或读"=>"如下: -
IEnumerable<Person> Adults = people.Where(p => p.Age > 16)
Run Code Online (Sandbox Code Playgroud)
或者甚至有一种商定的说法吗?
Eri*_*bes 148
我通常会在阅读该运算符时说"这样".
在您的示例中,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等于伦敦"
至于'去' - 这对我来说永远不会有意义.'p'不会去任何地方.
在通过电话向某人读取代码的情况下,只要他们是C#程序员,我就会使用"lambda"这个词 - 也就是说,"p lambda p dot age than than than十六."
在评论中,Steve Jessop在转换的情况下提到了"map to" - 所以以Anders为例:
x => x * 2;
Run Code Online (Sandbox Code Playgroud)
会读
x映射到x乘以2.
对于这种情况,这似乎更接近代码的实际意图而不是"变成".
Aid*_*dos 15
我一直称它为"王操作员":-)
"p王龄大于16岁"
"映射到"怎么样?它既简洁又可以说在技术上更准确(即没有像"转到"或"变成"那样的状态变化的建议,没有一个集合与其特征函数的混淆,如"如此"或"为哪个")而不是其他选择.虽然如果已经有一个标准,因为MSDN页面似乎暗示,也许你应该去那(至少对于C#代码).
| 归档时间: |
|
| 查看次数: |
32557 次 |
| 最近记录: |