在括号内返回null是否有原因?

3

1
(null)只是一个返回null的表达式,它实际上是一样的。 - BradleyDotNET
在这种情况下,括号是多余的,就像int x = (1+2);int x = 1+2;是相同的。 - Matthew
1
FYI,它们不是大括号,而是圆括号。{}是大括号。 - Ashigore
@Ashigore,很抱歉,在我的语言中,这两个符号只有一个词。 - nuclear sweet
@Ashigore {} 是花括号。它们与圆括号一起是两种不同类型的括号,还包括字符 [。在某些文化中,当提到圆括号时,使用术语“括号”也很常见。 - Servy
@Servy:我听说方括号可以这样称呼;但是对于花括号,我没有听说过。 - cHao
3个回答

4

嗯,这是一个好奇的问题,所以我进行了一些浏览。

我发现了这个帖子,由Jon Skeet回答。他说有时它可以增加可读性,但没有性能或逻辑影响。

另一位用户建议这是从很久以前一些编译器对C的要求遗留下来的。

看到MSDN上的例子也很有趣,不错的发现。

MSDN还有这个

许多程序员使用括号将返回语句的表达式参数括起来。然而,C不需要这些括号。


这也可能是工具支持的重构的剩余部分。 - mbx

3

没有必要这样做,你同样可以轻松地输入

return null;

0
在C#中,表达式foo(foo)计算出的结果完全相同。当表达式只有一个项时,括号没有任何效果。
然而,我个人更喜欢使用它们,原因如下:
  • 对我来说,乍一看,return(null)看起来太像函数调用了。
  • 它们暗示了并不存在的复杂性,即使是那些知道实际情况但脑子一抽就会问这个问题的人也会这样。这个问题本身就可以被视为证据。
如果你确实要使用它们,最好在return后面加上一个空格。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接