我今天一直在关注这个tutorial以了解Web API并注意到一些事情 - 在教程代码中,有这一行:
var product = products.FirstOrDefault((p) => p.Id == id);
如您所见,括号中提供了参数“p”。既然这样做不是强制性的,我很好奇这样做是否有任何好处,或者只是开发人员的偏好?
答案 0 :(得分:8)
在这种情况下,它纯粹是开发者偏好。
如果有多个参数,则需要使用括号。例如:
var singleString = someStrings.Aggregate((current, next) => current + Environment.NewLine + next);
答案 1 :(得分:3)
C#规范明确规定(p) => ...
可以写为p => ...
:
7.15匿名函数表达式
...
在具有单个隐式类型参数的匿名函数中,可以从参数列表中省略括号。换句话说,形式的匿名函数
( param ) => expr
可以缩写为
param => expr
所以没有任何技术差异,只有个人偏好。