次の方法で共有


Collection.GetEnumerator メソッド

定義

コレクションを反復処理する列挙子を返します。

public:
 System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

戻り値

コレクションの反復処理に使用できる列挙子。

次の例は、GetEnumerator を使用して、Collection オブジェクトのすべての要素を取得する方法を示します。

Dim customers As New Collection
' Insert code to add elements to the customers collection.
Dim custEnum As IEnumerator = customers.GetEnumerator()
custEnum.Reset()
Dim thisCustomer As Object
While custEnum.MoveNext()
    thisCustomer = custEnum.Current()
    ' Insert code to process this element of the collection.
End While

GetEnumerator は、System.Collections 名前空間の IEnumerator インターフェイスを実装する列挙子オブジェクトを構築して、返します。 列挙子オブジェクトは、Current プロパティおよび MoveNextReset メソッドを公開します。 詳細については、For Each...Next ステートメント を参照してください。

注釈

For Each...Next ステートメントGetEnumerator を呼び出し、コレクションの要素に対する反復処理をサポートする列挙子オブジェクトを取得します。 通常、コレクションまたは配列を走査するためには For Each...Next ループを使用し、GetEnumerator を明示的に呼び出す必要はありません。

For Each...Next ステートメントよりも細かい繰り返しの制御が必要な場合は、GetEnumerator メソッドでカスタマイズされた走査を実行できます。 次の場合に、これを行う必要があるかもしれません。

  • コレクションの先頭に戻り、処理が終了する前に、もう一度反復を開始する場合があります。

  • さまざまな理由で 1 つまたは複数の要素をスキップする場合があります。

  • 走査の途中でコレクションの要素を変更する必要が生じることがあります。 この場合、前のオブジェクトは無効になるため、新しい列挙子オブジェクトを取得する必要があります。

適用対象