2016-09-14 50 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

這兩個例子沒有性能差異。編譯器很可能爲這兩個示例生成相同的二進制代碼。

我個人更喜歡第二個示例來減少縮進深度,但也有很多人喜歡第一個,因爲它只是讓代碼更容易閱讀,只有一個退出點。