2
var effects = this.EffectsRecursive;
foreach (Effect effect in effects)
{
...
}
VS這兩個IEnumerable <T>代碼使用foreach會有性能差異嗎?
foreach (Effect effect in this.EffectsRecursive)
{
...
}
var effects = this.EffectsRecursive;
foreach (Effect effect in effects)
{
...
}
VS這兩個IEnumerable <T>代碼使用foreach會有性能差異嗎?
foreach (Effect effect in this.EffectsRecursive)
{
...
}
不,在foreach操作上調用IEnumerable.GetEnumerator
,這將被調用一次無論哪種方式的結果。
只有一種方法可以找出;嘗試一下並測量結果。但在這種情況下,似乎不太可能會有差異。 – 2011-02-08 00:24:33
謝謝埃裏克。我會測量,但認爲這種差異可能會誤導,就像兩個結果不一致。所以想確定他們是否都會做同樣的事情。對我來說#2似乎更可讀,因爲EffectsRecursive不是很長。 – 2011-02-08 00:27:52