.net中for與foreach的比較及使用。

當for與數組用在一起的時候,如:    

for(int i=0 ;i<array.count;i++) {   }  

.net的編譯器會有一個自動的優化,就是去獲取該數組的一個總值array.count,並存放在內存中,無論你的數組是多大, array.count在loop的時候不用反覆獲取array的總數。重點是這個過程並不是很快,可能是有一定的安全性操作,畢竟這個放在內存中的值還要及時的清除掉。當數組總數很小的時候,這個獲取總數的操作佔遍歷一遍數組的比重是比較大的。 

 foreach是ienumerator接口每遍歷一次都要有兩個步驟獲取釋放,這兩個步驟都是很快的但是當量很大的時候其影響就不可忽視了。

因此很簡單的說,當數組總量較大的時候一般使用for,較小的時候使用foreach。較大較小的參比值大概是8萬~10萬

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章