在返回值周围使用括号是否提供任何与编译器相关的好处?

Fre*_*key 8 .net c#

只是看一个相当伟大的微软教练Mike Taulty的视频.在他的视频中,他一直用括号括起他的回报值,甚至包括单个值:

return (null);
Run Code Online (Sandbox Code Playgroud)

IntelliSense是否有一些隐藏的好处,或者可能是编译器提供的一些好处?

代码如下:

public ObservableCollection<MailViewModel> Emails
{
  get
  {  
    return (emails);
  }
  set
  {
    emails = value;
  }
}
Run Code Online (Sandbox Code Playgroud)

usr*_*usr 6

肯定没有性能差异,因为两种形式都转换为相同的IL.即使它想要,运行时也无法分辨.您可以使用Reflector或ILdasm或任何其他反编译器来查看生成的IL.

没有智力感受或损害.

语义也完全相同.

我不会讨论它是否是更好的风格,因为该讨论不属于Stack Overflow.这也是个人品味的问题.


Bri*_*sen 2

生成的代码没有任何好处。您可以通过查看生成的 IL 来验证这一点。至于是否提高可读性,那是主观的。

  • @sab669 ILdasm、ILSpy 或任何类似工具。 (2认同)