2016-09-14 19 views
1

我的标题可能没有意义。但基本上我一直都是这样做的。更好的性能退出功能在代码顶部或之后?

void Start() { 
    if (someBoolean) { 
     /* 
     * 
     Do My Code 
     which could be a lot 
     * 
     */ 
    } 
} 

但我最近在Unity Documentation上看到过这样的东西。

void Start() { 
    if (!someBoolean) return; 

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

用if语句我知道代码被跳过了,但是这样做是否会影响性能?

当然,我确实意识到也可以选择这样做,我确实喜欢。它看起来比我更顺序。

我的问题是这样做的效果吗?

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

我将在下面标记为正确答案,因为这似乎是正确的。我只是将包含在评论中的链接,因为这个问题已经回答了: Stack Exchange

+0

编译器非常聪明。也是你的第二个例子是无效的c# –

+0

所以它很聪明..是否它没有任何区别? – blapaz

+0

它可以对代码进行重新排序,因为它最适合您,它可能会为您覆盖。 –

回答

3

这两个例子没有性能差异。编译器很可能为这两个示例生成相同的二进制代码。

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