Vector3DCollection.GetEnumerator 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回可逐一查看這個集合的列舉程式。
public:
System::Windows::Media::Media3D::Vector3DCollection::Enumerator GetEnumerator();
public System.Windows.Media.Media3D.Vector3DCollection.Enumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Windows.Media.Media3D.Vector3DCollection.Enumerator
Public Function GetEnumerator () As Vector3DCollection.Enumerator
傳回
可逐一查看集合的列舉值。
備註
列舉值只允許讀取集合中的資料。 列舉值無法用來修改基礎集合。
一開始,列舉值會放在集合中的第一個專案之前。 在這個位置,呼叫 Current 會擲回例外狀況。 因此,您必須呼叫 MoveNext ,才能將列舉值前移至集合的第一個專案,然後再讀取 Current 的值。
目前的 會傳回相同的物件,直到呼叫 MoveNext 或 Reset 為止。 MoveNext 會將 Current 設定為下一個專案。
傳遞集合結尾之後,列舉值會放在集合的最後一個專案之後,呼叫 MoveNext 會傳回 false。 如果最後一次呼叫 MoveNext 傳回 false,則呼叫 Current 會擲回例外狀況。 若要再次將 Current 設定為集合的第一個專案,您可以呼叫 Reset,後面接著 MoveNext。
只要集合維持不變,列舉值就仍維持有效。 如果對集合進行變更,例如新增、修改或刪除專案,列舉值會無法復原,而下一次呼叫 MoveNext 或 Reset 會擲回 InvalidOperationException。 如果在 MoveNext 和 Current 之間修改集合,則 Current 會傳回它設定為的專案,即使列舉值已經失效也一樣。
列舉程式沒有集合的獨佔存取權,因此,列舉集合內容本質上並不是安全的執行緒程序。 即使同步處理集合,其他執行緒仍可修改集合,這會導致列舉值擲回例外狀況。 若要保證列舉過程的執行緒安全,您可以在整個列舉過程中鎖定集合,或攔截由其他執行緒的變更所造成的例外狀況。