2011-02-08 39 views
2
var effects = this.EffectsRecursive; 
foreach (Effect effect in effects) 
{ 
... 
} 

VS這兩個IEnumerable <T>代碼使用foreach會有性能差異嗎?

foreach (Effect effect in this.EffectsRecursive) 
{ 
... 
} 
+3

只有一種方法可以找出;嘗試一下並測量結果。但在這種情況下,似乎不太可能會有差異。 – 2011-02-08 00:24:33

+0

謝謝埃裏克。我會測量,但認爲這種差異可能會誤導,就像兩個結果不一致。所以想確定他們是否都會做同樣的事情。對我來說#2似乎更可讀,因爲EffectsRecursive不是很長。 – 2011-02-08 00:27:52

回答

10

不,在foreach操作上調用IEnumerable.GetEnumerator,這將被調用一次無論哪種方式的結果。