Collection.GetEnumerator Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí enumerátor, který prochází kolekcí.
public:
System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator();
member this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Návraty
Enumerátor, který lze použít k iteraci v kolekci.
Příklady
Následující příklad ukazuje, jak použít GetEnumerator k načtení všech prvků objektu 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 vytvoří a vrátí objekt enumerátoru, který implementuje IEnumerator rozhraní System.Collections oboru názvů. Objekt enumerátoru Current zveřejňuje vlastnost a MoveNext metody.Reset Další informace naleznete v tématu Pro každý... Next – příkaz.
Poznámky
Pro každý... Další příkaz volání GetEnumerator k získání objektu enumerátoru pro podporu iterace nad prvky kolekce. Za normálních okolností používáte smyčku For Each...Next k procházení kolekce nebo pole a není nutné volat GetEnumerator explicitně.
Pokud potřebujete větší kontrolu nad iterací než For Eachpříkazy ...Next poskytují, můžete použít GetEnumerator metodu k provedení přizpůsobené procházení. Tady jsou některé případy, kdy to možná budete muset udělat.
Možná se budete chtít vrátit na začátek kolekce a před dokončením iterace znovu spustit.
Možná budete chtít přeskočit jeden nebo více prvků z různých důvodů.
Možná budete muset změnit prvky kolekce uprostřed procházení. V tomto případě musíte získat nový objekt enumerátoru, protože předchozí objekt je neplatný.