如果我做了類似以下的事情,這是否被認爲是不理想的(性能明智的)?這些有效的循環優化?
// Is this optimal?
foreach (var fruit in basket.Fruits())
{
// ....
}
// What about this?
for (var i = 0; i < basket.Fruits().length; ++i) {
// ....
}
// Alternate way.
var fruits = basket.Fruits();
foreach (var fruit in fruits)
{
// ....
}
我正在尋找適用於.net以及Javascript的答案。
謝謝。
用100000個水果創建測試並檢查兩種情況下的時間差。 – BaBL86
我不認爲會有差異。編譯器會做這樣的優化。如果你認爲在第一次循環中必須在每次迭代中獲得水果。不,它不是 –
問題是......你以後需要在籃子裏的水果嗎? – MinusFour