CharKeyFrameCollection.GetEnumerator Metoda

Definice

Vrátí enumerátor, který může iterovat v rámci kolekce.

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

Může IEnumerator iterovat kolekci.

Implementuje

Poznámky

Enumerátory umožňují čtení pouze dat v kolekci. Výčet nelze použít k úpravě podkladové kolekce.

Zpočátku je enumerátor umístěn před první položkou v kolekci. Reset také vrátí enumerátor zpět na tuto pozici. Volání v této pozici Current vyvolá výjimku. Proto je nutné předčíst MoveNext výčet na první položku kolekce před přečtením hodnoty .Current

Current vrátí stejný objekt, dokud není volána MoveNext nebo Reset není volána. MoveNext nastaví Current na další položku.

Po předání konce kolekce se enumerátor umístí za poslední položku v kolekci a volání MoveNext vrátí false. Pokud se vrátí poslední volání MoveNext false, vyvolá volání Current výjimku. Pokud chcete nastavit Current první položku kolekce znovu, můžete volat a následovat Reset MoveNext.

Enumerátor zůstane platný, dokud kolekce zůstane beze změny. Pokud jsou v kolekci provedeny změny, například přidávání, úpravy nebo odstraňování položek, enumerátor je nenákladně neplatný a další volání MoveNext nebo Reset vyvolá InvalidOperationExceptionchybu . Pokud je kolekce změněna mezi MoveNext a Current, Current vrátí položku, na kterou je nastavena, i když je výčet již neplatný.

Enumerátor nemá výhradní přístup k kolekci; výčtem kolekce tedy není vnitřně bezpečný postup pro vlákno. I když je kolekce synchronizovaná, ostatní vlákna můžou i nadále upravovat kolekci, což způsobí, že výčtový modul vyvolá výjimku. K zaručení bezpečnosti přístupu z více vláken můžete buďto zamknout kolekci na celou dobu práce s výčtem, nebo zachycovat výjimky vzniklé v důsledku změn prováděných ostatními vlákny.

Platí pro