PointKeyFrameCollection.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 為下一個專案。

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

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

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

適用於