BitArray.GetEnumerator Metoda

Definice

Vrátí enumerátor, který iteruje přes BitArray.

public:
 virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

Návraty

IEnumerator

A IEnumerator pro celý BitArray.

Implementuje

Poznámky

Příkaz foreach jazyka C# (for eachv 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. Reset také vrátí enumerátor zpět na tuto pozici. 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 se nevolá MoveNext nebo Reset 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í false. Pokud je enumerátor na této pozici, následná volání, která se MoveNext mají vrátit false. Pokud se vrátí falseposlední voláníMoveNext, Current není definováno. Chcete-li nastavit Current na první prvek kolekce znovu, můžete volat Reset následované MoveNext.

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.

Tato metoda je O(1) operace.

Platí pro

Viz také