用圆括号括住lambda表达式参数

本文关键字:表达式 参数 lambda 圆括号 | 更新日期: 2023-09-27 18:19:09

我今天一直在遵循这个教程来学习一些关于Web API的知识,并注意到一些事情-在教程代码中,有这样一行:

var product = products.FirstOrDefault((p) => p.Id == id);

如您所见,参数"p"是在括号中提供的。既然这种方式不是强制性的,我很好奇这样做是否有任何好处,或者这只是开发者的偏好?

用圆括号括住lambda表达式参数

在这种情况下,这纯粹是开发人员的首选项。

当有多个参数时,需要使用括号。例如:

var singleString = someStrings.Aggregate((current, next) => current + Environment.NewLine + next);

c#规范明确规定(p) => ...可以写成p => ...:

7.15匿名函数表达式

在具有单个隐式类型形参的匿名函数中,可以从形参列表中省略括号。换句话说,一个形式为

的匿名函数
( param ) => expr

可以缩写为

param => expr

所以没有技术上的差别,只有个人喜好。