StringKeyFrameCollection.GetEnumerator Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Ein IEnumerator, der die Auflistung durchlaufen kann.
Implementiert
Hinweise
Enumeratoren erlauben nur das Lesen der Daten in der Sammlung. Enumeratoren können nicht verwendet werden, um die zugrunde liegende Auflistung zu ändern.
Zunächst wird der Enumerator vor dem ersten Element in der Auflistung positioniert. Reset setzt den Enumerator ebenfalls auf diese Position zurück. An dieser Position löst der Aufruf Current eine Ausnahme aus. Daher müssen Sie aufrufen MoveNext , um den Enumerator auf das erste Element der Auflistung zu versteigen, bevor Sie den Wert von Currentlesen.
Current gibt solange dasselbe Objekt zurück, bis MoveNext oder Reset aufgerufen wird. MoveNext auf das nächste Element festgelegt Current .
Nachdem das Ende der Auflistung übergeben wurde, wird der Enumerator nach dem letzten Element in der Auflistung positioniert, und der Aufruf MoveNext gibt zurück false
. Wenn der letzte Aufruf zurückgegeben MoveNext wurde false
, löst der Aufruf Current eine Ausnahme aus. Um erneut auf das erste Element der Auflistung festzulegenCurrent, können Sie gefolgt von MoveNextaufrufenReset.
Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Auflistung vorgenommen werden, z. B. das Hinzufügen, Ändern oder Löschen von Elementen, wird der Enumerator unwiederbringlich ungültig, und der nächste Aufruf MoveNext oder Reset löst einen aus InvalidOperationException. Wenn die Auflistung zwischen MoveNext und Currentgeändert wird, Current gibt das Element zurück, auf das sie festgelegt ist, auch wenn der Enumerator 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önnen andere Threads die Auflistung weiterhin ändern, was dazu führt, dass der Enumerator eine Ausnahme auslöst. 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.