簡體   English   中英

if和return或while最快和最合適的是什么?

[英]What is faster and best for with if and return or while?

我有一個關於for和while循環的問題,因為我們必須傳遞一個值直到滿足條件。 我想知道哪種方法在較低級別更有效,為什么?

也就是說,這兩個代碼給出相同的結果:

對於:

for (int i = 0; i<10 ; i++)
{
    if (i==4)
    {
        return;
    }
}

而:

int i=0;
while (i<10 and i!=4)
{
    i++;
}

這是一個可能循環的小例子,我們可能要看成千上萬的記錄。

哪種代碼更有效? 我一直說在這種情況下我必須使用一段時間,但是我想知道低水平是否會持續一段時間還是更好。

非常感謝你。

答案是:沒關系。

除非您真的努力使代碼看到差異,否則您在性能上都不會看到任何差異,而真正重要的是代碼的可讀性(這是將來節省時間和金錢的地方) ),因此請使用更容易理解的一種。

對於您的情況,我建議使用While方法...


我還將建議閱讀Eric Lippert的這篇文章: 足夠好有多糟糕? ,以防萬一您在可讀性和愚蠢的優化上不滿意:)

它們的編譯應該非常相似。 從低層次看,您正在考慮在循環中執行命令,然后您將有兩個調用以比較一個值,並在條件要求退出循環時跳轉到下一個代碼塊。

如上所述,雖然應該會導致更好的可讀性,因此是更好的選擇。

forwhile都是相同的。

唯一的區別是放置條件的位置。 在內部,while循環在底層使用“ for”語法。

在您的情況下。 if you don't know the upper limit 雖然 **是最佳選擇**

您可以使用

While(i!=4)
{
 i++
}

使用for循環,如果你知道這個上限,否則while是最好的朋友。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM