3
我一直困惑的這一個。考慮以下循環:.NET環路的完整101
int [] list = new int [] { 1, 2, 3 };
for (int i=0; i < list.Length; i++) { }
foreach (int i in list) { }
while (list.GetEnumerator().MoveNext()) { } // Yes, yes you wouldn't call GetEnumerator with the while. Actually never tried that.
- [列表]以上是硬編碼的。如果在循環迭代過程中列表發生了外部更改,會發生什麼情況?
- 如果什麼[名單]是一個只讀屬性,例如
int List{get{return(new int [] {1,2,3});}}
?這會擾亂循環。如果不是,它會在每次迭代中創建一個新實例嗎?
的另一點是一個數組,該'Length'屬性不可改變的。如果一個調用一個陣列上'Length'並得到一定的價值,將來的所有調用'Length'該陣列是保證返回相同的值。當然,如果一個人有一個數組類型的一個實例變量,並有新的變化該實例變量指向另一個陣列,該陣列的長度可以是從較早的一個不同。 – supercat 2012-02-10 20:56:56