[英]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的這篇文章: 足夠好有多糟糕? ,以防萬一您在可讀性和愚蠢的優化上不滿意:)
它們的編譯應該非常相似。 從低層次看,您正在考慮在循環中執行命令,然后您將有兩個調用以比較一個值,並在條件要求退出循環時跳轉到下一個代碼塊。
如上所述,雖然應該會導致更好的可讀性,因此是更好的選擇。
for
和while
都是相同的。
唯一的區別是放置條件的位置。 在內部,while循環在底層使用“ for”語法。
在您的情況下。 if you don't know the upper limit
雖然 **是最佳選擇**
您可以使用
While(i!=4)
{
i++
}
使用for循環,如果你知道這個上限,否則while
是最好的朋友。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.