PersonalizationStateInfoCollection.GetEnumerator 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳一個標準列舉器,能夠遍歷集合。 無法繼承這個方法。
public:
virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
傳回
可以用 IEnumerator 來遍歷集合。
實作
備註
列舉器可用於讀取集合中的資料,但無法用來修改底層集合。
最初,列舉器會被放置在集合中的第一個元素之前。 此 Reset 方法也會將調查員拉回此位置。 在此位置,該 Current 性質尚未定義。 因此,你必須呼叫 MoveNext 方法,將列舉子推進到集合的第一個元素,才能讀取 的 Current值。 欲了解更多關於普查員的資訊,請參見 IEnumerator。
只要集合未曾改變,列舉器仍然有效。 若對集合進行變更,例如新增、修改或刪除元素,列舉器將無法恢復,其行為也無法定義。
C# 語言的 foreach 陳述(Visual Basic 中為 for each)隱藏了列舉器的複雜性。 因此,建議使用 foreach ,而非直接操作列舉器。
列舉值沒有集合的獨佔存取權;因此,透過集合列舉本質上不是安全線程的程式。 若要保證列舉期間的線程安全性,您可以在整個列舉期間鎖定集合。 若要允許多個線程存取集合以進行讀取和寫入,您必須實作自己的同步處理。