请告诉我,两者之间有什么不同
return null;
Run Code Online (Sandbox Code Playgroud)
和
return (null);
Run Code Online (Sandbox Code Playgroud)
有时我会看到每个例子
行为无论如何都没有区别 - 但后者显然是单一的.我之前看到它是一个迹象,表明作者似乎认为这return是一个函数调用,或者至少想要对它进行处理.(有时每个返回值都有括号.)
只需使用第一个版本.
括号没有任何意义.
当您查看生成的实际IL代码时,这两个语句完全相同.
根据规格,()运营商有两个目的:
指定强制转换或类型转换
(int)4M;
Run Code Online (Sandbox Code Playgroud)调用方法或委托,比如
Method();
Run Code Online (Sandbox Code Playgroud)括号也用于表示(一组)条件条件,例如:
if (a && (b || c))
Run Code Online (Sandbox Code Playgroud)
要么:
switch (a)
Run Code Online (Sandbox Code Playgroud)
或者指定运算符优先级(偏离默认值):
(a + b) * c
Run Code Online (Sandbox Code Playgroud)
拉姆巴表达:
(x) => { }
Run Code Online (Sandbox Code Playgroud)
等等
你的代码既不是他们的代码,也没用.