2012-12-16 176 views

回答

0

這不是VB,它是C#。

沒有理由將數組轉換爲IEnumerable,它會在有或沒有轉換的情況下執行完全相同的操作。

無論如何,使用枚舉器遍歷數組是效率低下的,因爲它會將對象中的每個整數都包括在內。使用forforeach創建循環值不拳擊代碼,避免不必要的範圍檢查:

for (int i = 0; i < values.Length; i++) { 
    Console.Write(values[i]); 
    Console.Write(' '); 
} 

或:

foreach (int value in values) { 
    Console.Write(value); 
    Console.Write(' '); 
} 
+0

對不起,我已經重新標記問題。我在VB.NET中提出這個問題,但我提供了一個C#示例,因爲這正是我所看到的網頁上的內容。 – w0051977

+0

我知道使用IEnumerator實現了FOR EACH循環。 FOR循環如何實現? – w0051977

+0

@ w0051977:當你循環一個數組時,'for'和'foreach'都是用比現在編譯代碼更優化的代碼實現的。 'foreach'不使用枚舉器來循環數組,編譯器創建的代碼執行相同的事情,但沒有枚舉器的開銷。在循環數組時,編譯器會認識到索引永遠不會超出數組,因此訪問'values [i]'時不需要對索引進行正常範圍檢查。 – Guffa