StringCollection.GetEnumerator Metoda

Definice

Vrátí hodnotu StringEnumerator , která iteruje přes StringCollection.

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

Návraty

A StringEnumerator pro StringCollection.

Poznámky

Příkaz foreach jazyka C# (for each v jazyce Visual Basic) skrývá složitost enumerátorů. Proto se doporučuje používat 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.

Zpočátku je enumerátor umístěn před prvním prvkem v kolekci. Reset také vrátí enumerátor zpět do této pozice. Na této pozici Current není definován. Proto je nutné před čtením hodnoty CurrentvolatMoveNext, aby se enumerátor přepojí na první prvek kolekce.

Current vrátí stejný objekt, dokud není volána nebo MoveNextReset . MoveNext nastaví Current na další prvek.

Pokud MoveNext přejde na konec kolekce, enumerátor se umístí za poslední prvek v kolekci a MoveNext vrátí false. Pokud je enumerátor na této pozici, další volání MoveNext vrátí falsetaké . Pokud je poslední volání MoveNext vráceno false, Current není definováno. Pokud chcete znovu nastavit Current první prvek kolekce, můžete zavolat Reset a pak MoveNext.

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

Enumerátor nemá výhradní přístup ke kolekci. proto výčet prostřednictvím kolekce není vnitřně procedurou bezpečnou pro vlákna. Abyste zajistili 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.

Tato metoda je operace O(1).

Platí pro

Viz také