Model3DCollection.GetEnumerator Methode

Definition

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

public:
 System::Windows::Media::Media3D::Model3DCollection::Enumerator GetEnumerator();
public System.Windows.Media.Media3D.Model3DCollection.Enumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Windows.Media.Media3D.Model3DCollection.Enumerator
Public Function GetEnumerator () As Model3DCollection.Enumerator

Gibt zurück

Ein Enumerator, der die Auflistung durchlaufen kann.An enumerator that can iterate through the collection.

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. An dieser Position löst der Current Aufruf von eine Ausnahme aus.At this position, calling Current throws an exception. Daher muss aufgerufen MoveNext werden, um den Enumerator vor dem Lesen des Werts der aktuellen auf das erste Element der Auflistung zu setzen.Therefore, you must call MoveNext to advance the enumerator to the first item of the collection before reading the value of Current.

Current gibt das gleiche Objekt zurück, bis entweder "Mu" oder Reset "" aufgerufen wird.Current returns the same object until either MoveNext or Reset is called. "Wvenext" 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 "MEXT" gibt "false" zurück.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 "" von "" "" "" false "zurückgegeben hat, löst der aufrufendeIf 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 "muvenext", abrufen.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 ist.An enumerator remains valid as long as the collection remains unchanged. Wenn an der Auflistung Änderungen vorgenommen werden, z. b. das Hinzufügen, ändern oder Löschen von Elementen, wird der Enumerator unwiederbringlich ungültig, und der nächste-Befehl von "muvenext" oder "Reset" löst eine InvalidOperationException aus.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 "wvenext" und "Current" geändert wird, 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: