C#括号返回null

时间:2014-08-12 08:41:18

标签: c# null

请告诉我,

之间有什么不同
return null;

return (null);

有时候我会看到每个例子

3 个答案:

答案 0 :(得分:8)

行为没有任何区别 - 但后者显然是单一的。我以前认为这是一个迹象,表明作者似乎认为return是一个函数调用,或者至少想要对它进行处理。 (有时在每个返回值周围都有括号。)

只需使用第一个版本。

答案 1 :(得分:6)

括号没有用处。

当您查看生成的实际IL代码时,这两个语句完全相同。

根据specs()运算符有两个目的:

  • 指定演员表或输入转化次数,例如

    (int)4M;
    
  • 调用方法或委托,例如

    Method();
    

括号也用于表示(一组)条件条件,如:

if (a && (b || c))

或者:

switch (a)

或者指定operator precedence(偏离默认值):

(a + b) * c

Lamdba表达:

(x) => { }

Etc等。

你的代码既不是他们的代码,也没用。

答案 2 :(得分:1)

之间的区别相同
var a = (new A());

var a = new A();

即,完全没有差异。括号是多余的,应该省略。有些人认为它使代码与方法调用更加一致,但return语句不是函数调用。