CharKeyFrameCollection.GetEnumerator Methode

Definition

Gibt einen Enumerator zurück, der die Auflistung durchlaufen kann.

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

Gibt zurück

IEnumerator

Ein IEnumerator, der die Auflistung durchlaufen kann.

Implementiert

Hinweise

Aufzählungen ermöglichen nur das Lesen der Daten in der Sammlung. Aufzählungen können nicht verwendet werden, um die zugrunde liegende Auflistung zu ändern.

Zunächst wird der Aufzählerator vor dem ersten Element in der Auflistung positioniert. Reset setzt den Enumerator ebenfalls auf diese Position zurück. An dieser Position löst das Aufrufen Current eine Ausnahme aus. Daher müssen Sie aufrufen MoveNext , um den Aufzählerator zum ersten Element der Auflistung vor dem Lesen des Werts Currentzu wechseln.

Current gibt solange dasselbe Objekt zurück, bis MoveNext oder Reset aufgerufen wird. MoveNext legt auf das nächste Element fest Current .

Nachdem das Ende der Auflistung übergeben wurde, wird der Aufzählungsator nach dem letzten Element in der Auflistung positioniert und ruft MoveNext zurück false. Wenn der letzte aufruf, der zurückgegeben falsewerden sollMoveNext, löst der Aufruf Current eine Ausnahme aus. Um erneut auf das erste Element der Auflistung festzulegen Current , können Reset Sie gefolgt von MoveNext.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Auflistung vorgenommen werden, z. B. Hinzufügen, Ändern oder Löschen von Elementen, wird der Aufzählerator nicht wiedereinwendbar ungültig und der nächste Aufruf an MoveNext oder Reset löst eine InvalidOperationException. Wenn die Auflistung zwischen MoveNext und Current, Current wird das Element zurückgegeben, auf das sie festgelegt ist, auch wenn die Aufzählung bereits ungültig ist.

Der Enumerator hat keinen exklusiven Zugriff auf die Auflistung; daher ist die Enumeration einer Auflistung systembedingt kein threadsicheres Verfahren. Selbst wenn eine Auflistung synchronisiert wird, könnte andere Threads die Auflistung weiterhin ändern, wodurch der Aufzählungsator eine Ausnahme ausgelöst wird. Um während der Enumeration Threadsicherheit zu gewährleisten, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen, die aus von anderen Threads stammenden Änderungen resultieren, abfangen.

Gilt für