1. 程式人生 > >for和foreach的效率比較

for和foreach的效率比較

foreach的效能要比for要高;因為for迴圈要進行一個array.GetLength來獲取陣列最大下標
當然只是相對的
1,如果只是讀資料,選擇foreach
2,如果只是寫資料,選擇for
3,for迴圈遍歷的效率是低於foreach迴圈遍歷
for迴圈在外部做count和在條件中做count相比較,第一種效率更高(for每次迴圈的時候都要去判斷是否符合迴圈條件)
4,foreach 依賴 IEnumerable.
第一次 var a in GetList() 時 呼叫 GetEnumerator 返回第一個物件 並 賦給a,
以後每次再執行 var a in GetList() 的時候 呼叫 MoveNext.直到迴圈結束.
期間GetList()方法只執行一次.