GetEnumerator メソッド (コレクション オブジェクト)

更新 : 2007 年 11 月

Collection オブジェクト (Visual Basic) を反復処理するのに使用される列挙子オブジェクトへの参照を返します。

Public Function GetEnumerator() As IEnumerator

解説

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

反復処理を、For Each...Next ステートメントよりも細かく制御する必要がある場合は、GetEnumerator メソッドを使用してカスタマイズされた走査を実行します。このような作業が必要なケースを次に示します。

  • 反復処理が完了する前に、コレクションの先頭に戻って反復処理を再実行する必要がある。

  • 何らかの理由で一部の要素をスキップする必要がある。

  • 走査の実行中にコレクション内の要素に変更を加える必要がある。この場合、列挙子オブジェクトが無効になるため、新しい列挙子オブジェクトを取得する必要があります。

使用例

次の例では、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 プロパティと MoveNext および Reset メソッドを公開します。詳細については、「For Each...Next ステートメント (Visual Basic)」を参照してください。

必要条件

名前空間 : Microsoft.VisualBasic

モジュール : Collection

**アセンブリ :**Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

参照

参照

Collection オブジェクト (Visual Basic)