在 C# 中使用它们之前,我已经在其他语言中使用过 lambda 表达式,因此我养成了使用_
简单 lambda 形式的习惯,Func<T, TResult>,
特别是对于简单的 lambda,其中主体只是表示返回值的表达式(谓词等) ..)。但是,在 C# 中,我经常看到使用单个字母来代替_
这些相同类型的 lambda 表达式,例如x,y,z,i,j,k
. 字母方法对我来说似乎很奇怪,因为这些字母在常见用法中已经具有另一个典型含义,即 for 循环变量。_
在我看来,通常更容易阅读。单字母样式真的是 C# 中 lambda 的既定样式吗?
例子:
我习惯写的:
var ages = people.Select(_ => _.Age);
我看到的是写的:
var ages = people.Select(x => x.Age); // choice of 'x' is not consistent