C# 在代码顶部或之后退出函数的性能更好?

C# 在代码顶部或之后退出函数的性能更好?,c#,performance,unity3d,C#,Performance,Unity3d,我的标题可能没有意义。但基本上我一直在做这样的函数 void Start() { if (someBoolean) { /* * Do My Code which could be a lot * */ } } 但我最近在电视上看到了类似的情况 对于if语句,我知道代码被跳过了,但是这样做会对性能产生影响吗 当然,我意识到这样做也是一种偏好,我确实喜欢这样做。对我来说,它看起来更有条理 我的问题是这样做

我的标题可能没有意义。但基本上我一直在做这样的函数

void Start() {
   if (someBoolean) {
      /*
       *
       Do My Code
       which could be a lot
       *
      */
   }
}
但我最近在电视上看到了类似的情况

对于if语句,我知道代码被跳过了,但是这样做会对性能产生影响吗

当然,我意识到这样做也是一种偏好,我确实喜欢这样做。对我来说,它看起来更有条理

我的问题是这样做是否会影响性能

=============================

我将把下面的答案标记为正确,因为这似乎是正确的。我只想将评论中的链接包括在内,因为这个问题已经得到了回答:
这两个示例之间没有性能差异。编译器很可能会为两个示例生成相同的二进制代码


我个人更喜欢第二个例子来减少缩进深度,但也有很多人喜欢第一个例子,因为据说只有一个退出点可以让代码更容易阅读。

编译器非常聪明。另外,你的第二个例子是无效的c#,所以它是聪明的。这没有任何区别吗?它可以重新排序你的代码,因为它最适合,它可能会做这件事的掩护下为你。此外,我改变了例子。我只是很快地把它作为一个示例代码放在那里。提前退出不应该影响性能,但可以快速提高可读性。看见
void Start() {
    if (!someBoolean) return;

       /*
        *
        Do My Code
        which could be a lot
        *
        */
    }