ByteKeyFrameCollection.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

To IEnumerator může procházet kolekcí.

Implementuje

Poznámky

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

Na začá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é volat MoveNext , aby se enumerátor přepojí na první položku kolekce před čtením hodnoty Current.

Current vrátí stejný objekt, dokud se nevolá MoveNext nebo Reset nevolá. 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, volání Current vyvolá výjimku. Pokud chcete nastavit Current první položku kolekce znovu, můžete zavolat a volat Reset 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í položek, enumerátor je nevratně neplatný a další volání MoveNext nebo Reset vyvolá chybu InvalidOperationException. Pokud je kolekce změněna mezi MoveNext a Current, Current vrátí položku, na kterou je nastavena, i když je enumerátor již neplatný.

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. I když je kolekce synchronizována, můžou ostatní vlákna i nadále upravovat kolekci, což způsobí, že enumerátor 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