GetEnumerator-Methode (Collection-Objekt)
Aktualisiert: November 2007
Gibt einen Verweis auf ein Enumeratorobjekt zurück, mit dessen Hilfe ein Collection-Objekt (Visual Basic) durchlaufen wird.
Public Function GetEnumerator() As IEnumerator
Hinweise
Die For Each...Next-Anweisung (Visual Basic) ruft GetEnumerator auf, um ein Enumeratorobjekt zu erhalten, das die Iteration über die Elemente einer Auflistung unterstützt. Normalerweise verwenden Sie zum Durchlaufen einer Auflistung oder eines Arrays eine For Each...Next-Schleife, ohne dass dabei GetEnumerator explizit aufgerufen werden muss.
Wenn Sie die Iteration genauer steuern möchten, als dies mit For Each...Next-Anweisungen möglich ist, können Sie mit der GetEnumerator-Methode eine benutzerdefinierte Iteration ausführen. Nachfolgend werden einige Fälle aufgeführt, in denen dies eventuell notwendig ist.
Sie möchten zum Anfang der Auflistung zurückkehren und die Iteration erneut starten, bevor sie abgeschlossen ist.
Sie möchten ein oder mehrere Elemente aus verschiedenen Gründen überspringen.
Sie müssen die Elemente der Auflistung unter Umständen während eines Durchlaufs ändern. In diesem Fall müssen Sie ein neues Enumeratorobjekt abrufen, da das vorherige ungültig wird.
Beispiel
Im folgenden Beispiel wird gezeigt, wie mit GetEnumerator alle Elemente eines Collection-Objekts abgerufen werden.
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 erstellt und gibt ein Enumeratorobjekt zurück, das die IEnumerator-Schnittstelle des System.Collections-Namespaces implementiert. Das Enumerationsobjekt macht die Current-Eigenschaft, die MoveNext-Methode sowie die Reset-Methode verfügbar. Weitere Informationen finden Sie unter For Each...Next-Anweisung (Visual Basic).
Anforderungen
Namespace:Microsoft.VisualBasic
**Modul:**Collection
**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)