Model3DCollection.GetEnumerator 方法

定義

傳回可逐一查看這個集合的列舉程式。

public:
 System::Windows::Media::Media3D::Model3DCollection::Enumerator GetEnumerator();
public System.Windows.Media.Media3D.Model3DCollection.Enumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Windows.Media.Media3D.Model3DCollection.Enumerator
Public Function GetEnumerator () As Model3DCollection.Enumerator

傳回

Model3DCollection.Enumerator

可逐一查看集合的列舉值。

備註

列舉值只允許讀取集合中的資料。 列舉值無法用來修改基礎集合。

一開始,列舉值會放在集合中的第一個專案之前。 在這個位置,呼叫 Current 會擲回例外狀況。 因此,您必須呼叫 MoveNext ,才能將列舉值前移至集合的第一個專案,然後再讀取 Current 的值。

目前的 會傳回相同的物件,直到呼叫 MoveNext 或 Reset 為止。 MoveNext 會將 Current 設定為下一個專案。

傳遞集合結尾之後,列舉值會放在集合的最後一個專案之後,呼叫 MoveNext 會傳回 false。 如果最後一次呼叫 MoveNext 傳回 false,則呼叫 Current 會擲回例外狀況。 若要再次將 Current 設定為集合的第一個專案,您可以呼叫 Reset,後面接著 MoveNext。

只要集合維持不變,列舉值就仍維持有效。 如果對集合進行變更,例如新增、修改或刪除專案,列舉值會無法復原,而下一次呼叫 MoveNext 或 Reset 會擲回 InvalidOperationException。 如果在 MoveNext 和 Current 之間修改集合,則 Current 會傳回它設定為的專案,即使列舉值已經失效也一樣。

列舉程式沒有集合的獨佔存取權,因此,列舉集合內容本質上並不是安全的執行緒程序。 即使同步處理集合,其他執行緒仍可修改集合,這會導致列舉值擲回例外狀況。 若要保證列舉過程的執行緒安全,您可以在整個列舉過程中鎖定集合,或攔截由其他執行緒的變更所造成的例外狀況。

適用於