共用方式為


MatrixKeyFrameCollection.GetEnumerator 方法

定義

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

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

Current 會傳回相同的物件直到呼叫 MoveNextResetMoveNext 會設定 Current 為下一個專案。

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

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

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

適用於