QuaternionKeyFrameCollection.GetEnumerator Methode

Definition

Gibt einen Enumerator zurück, der die Auflistung durchlaufen kann.Returns an enumerator that can iterate through the collection.

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.An IEnumerator that can iterate through the collection.

Implementiert

Hinweise

Enumeratoren lassen nur das Lesen der Daten in der Auflistung zu.Enumerators only allow reading the data in the collection. Enumeratoren können nicht zum Ändern der zugrunde liegenden Auflistung verwendet werden.Enumerators cannot be used to modify the underlying collection.

Anfänglich wird der Enumerator vor dem ersten Element in der Auflistung positioniert.Initially, the enumerator is positioned before the first item in the collection. Reset setzt den Enumerator ebenfalls auf diese Position zurück.Reset also brings the enumerator back to this position. An dieser Position löst der Aufruf von Current eine Ausnahme aus.At this position, calling Current throws an exception. Daher muss aufgerufen werden, MoveNext um den Enumerator vor dem Lesen des Werts von auf das erste Element der Auflistung zu setzen Current .Therefore, you must call MoveNext to advance the enumerator to the first item of the collection before reading the value of Current.

Current gibt solange dasselbe Objekt zurück, bis MoveNext oder Reset aufgerufen wird.Current returns the same object until either MoveNext or Reset is called. MoveNext legt Current auf das nächste Element fest.MoveNext sets Current to the next item.

Nachdem das Ende der Auflistung überschritten wurde, wird der Enumerator hinter dem letzten Element in der Auflistung positioniert, und der Aufruf von MoveNext gibt zurück false .After the end of the collection is passed, the enumerator is positioned after the last item in the collection, and calling MoveNext returns false. Wenn der letzte Aufruf von MoveNext zurückgegeben false wird, löst der Aufruf von Current eine Ausnahme aus.If the last call to MoveNext returned false, calling Current throws an exception. Um Current erneut auf das erste Element der Auflistung festzulegen, können Sie Reset gefolgt von aufzurufen MoveNext .To set Current to the first item of the collection again, you can call Reset followed by MoveNext.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt.An enumerator remains valid as long as the collection remains unchanged. Wenn Änderungen an der Auflistung vorgenommen werden, z. b. hinzufügen, ändern oder Löschen von Elementen, wird der Enumerator unwiederbringlich ungültig, und der nächste Rückruf von MoveNext oder löst Reset eine aus InvalidOperationException .If changes are made to the collection, such as adding, modifying or deleting items, the enumerator is irrecoverably invalidated and the next call to MoveNext or Reset throws an InvalidOperationException. Wenn die Auflistung zwischen und geändert MoveNext wird Current , gibt Current das Element zurück, auf das Sie festgelegt ist, auch wenn der Enumerator bereits ungültig gemacht wurde.If the collection is modified between MoveNext and Current, Current will return the item that it is set to, even if the enumerator is already invalidated.

Der Enumerator hat keinen exklusiven Zugriff auf die Auflistung; daher ist die Enumeration einer Auflistung systembedingt kein threadsicheres Verfahren.The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. Auch wenn eine Sammlung synchronisiert wird, können andere Threads die Auflistung weiterhin ändern, was bewirkt, dass der Enumerator eine Ausnahme auslöst.Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. 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.To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

Gilt für: