Vector3DCollection.GetEnumerator Methode

Definition

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

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

Gibt zurück

Ein Enumerator, der die Sammlung durchlaufen kann.

Hinweise

Enumeratoren erlauben nur das Lesen der Daten in der Sammlung. Enumeratoren können nicht zum Ändern der zugrunde liegenden Auflistung verwendet werden.

Zunächst wird der Enumerator vor dem ersten Element in der Auflistung positioniert. An dieser Position löst der Aufruf Current eine Ausnahme aus. Daher müssen Sie aufrufen MoveNext , um den Enumerator zum ersten Element der Auflistung zu wechseln, bevor Sie den Wert "Current" lesen.

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

Nachdem das Ende der Auflistung übergeben wurde, wird der Enumerator nach dem letzten Element in der Auflistung positioniert, und der Aufruf von MoveNext gibt "false" zurück. Wenn der letzte Aufruf von MoveNext "false" zurückgegeben wurde, löst das Aufrufen von Current eine Ausnahme aus. Wenn Sie "Current" erneut auf das erste Element der Auflistung festlegen möchten, können Sie "Reset" gefolgt von MoveNext aufrufen.

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 Enumerator unwiederbringlich ungültig, und der nächste Aufruf von MoveNext oder Reset löst eine InvalidOperationException aus. Wenn die Auflistung zwischen MoveNext und Current geändert wird, gibt Current das Element zurück, auf das es festgelegt ist, auch wenn der Enumerator bereits ungültig ist.

Der Enumerator hat keinen exklusiven Zugriff auf die Sammlung; Daher ist das Aufzählen durch eine Sammlung intrinsisch keine threadsichere Prozedur. Selbst wenn eine Auflistung synchronisiert wird, könnten andere Threads die Auflistung weiterhin ändern, wodurch der Enumerator eine Ausnahme auslöst. Um die Threadsicherheit während der Enumeration zu gewährleisten, können Sie die Auflistung entweder während der gesamten Enumeration sperren oder die Ausnahmen erfassen, die sich aus Änderungen ergeben, die von anderen Threads vorgenommen wurden.

Gilt für: