PersonalizationStateInfoCollection.GetEnumerator Methode

Definition

Gibt einen Standardenumerator zurück, der die Auflistung durchlaufen kann. Diese Methode kann nicht vererbt werden.

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 zum Durchlaufen der Auflistung verwendet werden kann.

Implementiert

Hinweise

Mit Enumeratoren können die Daten in der Auflistung zwar gelesen, jedoch nicht zum Ändern der zugrunde liegenden Auflistung verwendet werden.

Zu Beginn wird der Enumerator vor das erste Element in der Auflistung positioniert. Die Reset Methode bringt auch den Enumerator wieder an diese Position zurück. An dieser Position ist die Current Eigenschaft nicht definiert. Aus diesem Grund müssen Sie die MoveNext -Methode aufrufen, um den Enumerator auf das erste Element der Auflistung vor dem Lesen des Werts von Currentzu weiterentwickeln. Weitere Informationen zu Enumeratoren finden Sie unter IEnumerator.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Werden an der Auflistung Änderungen wie z. B. Hinzufügen, Bearbeiten oder Entfernen von Elementen vorgenommen, verliert der Enumerator unwiederbringlich seine Gültigkeit und sein Verhalten ist nicht definiert.

Die foreach-Anweisung der Programmiersprache C# (for each in Visual Basic) verbirgt die Komplexität der Enumeratoren. Daher empfiehlt es sich, foreach zu verwenden und den Enumerator nicht direkt zu ändern.

Der Enumerator hat keinen exklusiven Zugriff auf die Auflistung; daher ist die Enumeration einer Auflistung systembedingt kein threadsicheres Verfahren. Um während der Enumeration Threadsicherheit zu garantieren, können Sie die Auflistung während der gesamten Enumeration sperren. Um den Lese- und Schreibzugriff auf diese Auflistung durch mehrere Threads zuzulassen, müssen Sie eine eigene Synchronisierung implementieren.

Gilt für: