ActivityCollection.IEnumerable<Activity>.GetEnumerator Metoda

Definice

Získá enumerátor, který provádí iteraci v kolekci.

 virtual System::Collections::Generic::IEnumerator<System::Workflow::ComponentModel::Activity ^> ^ System.Collections.Generic.IEnumerable<System.Workflow.ComponentModel.Activity>.GetEnumerator() = System::Collections::Generic::IEnumerable<System::Workflow::ComponentModel::Activity ^>::GetEnumerator;
System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity> IEnumerable<Activity>.GetEnumerator ();
abstract member System.Collections.Generic.IEnumerable<System.Workflow.ComponentModel.Activity>.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity>
override this.System.Collections.Generic.IEnumerable<System.Workflow.ComponentModel.Activity>.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity>
Function GetEnumerator () As IEnumerator(Of Activity) Implements IEnumerable(Of Activity).GetEnumerator

Návraty

IEnumerator<Activity>

Enumerátor IEnumerator<T>, který lze použít pro iteraci prostřednictvím kolekce

Implementuje

Poznámky

Příkaz foreach jazyka C# (for eachv jazyce C++, For Each v Visual Basic) skryje složitost výčtů. Proto se doporučuje použít foreach místo přímé manipulace s enumerátorem.

Enumerátory lze používat ke čtení dat v kolekci, nikoli však k úpravě zdrojové kolekce.

Na začátku je enumerátor umístěn před prvním prvkem v kolekci. V této pozici Current není definováno. Proto je nutné volat MoveNext , aby se enumerátor před čtením hodnoty Current.

Current vrátí stejný objekt, dokud MoveNext se nevolá. MoveNext nastaví Current na další prvek.

Pokud MoveNext předá konec kolekce, enumerátor se umístí za poslední prvek v kolekci a MoveNext vrátí hodnotu false. Pokud je enumerátor na této pozici, následná volání, která vrátí MoveNext hodnotu false. Pokud je poslední volání MoveNext vrácené false, Current není definováno. Znovu nelze nastavit Current první prvek kolekce. Místo toho je nutné vytvořit novou instanci enumerátoru.

Enumerátor zůstane platný, dokud kolekce zůstane beze změny. Pokud jsou v kolekci provedeny změny, jako je přidání, úprava nebo odstranění prvků, enumerátor je nevratně neplatný a jeho chování není definováno.

Enumerátor nemá výhradní přístup k kolekci; proto výčet prostřednictvím kolekce není vnitřně bezpečným postupem vlákna. Chcete-li zaručit bezpečnost vláken během výčtu, můžete kolekci uzamknout během celého výčtu. Chcete-li více vláknům umožnit přístup ke kolekci pro čtení a zápis, musíte implementovat svou vlastní synchronizaci.

Výchozí implementacekolekcch System.Collections.Generic

Platí pro