IDTSPathCollection100.GetEnumerator Methode

Definition

public:
 System::Collections::IEnumerator ^ GetEnumerator();
[System.Runtime.InteropServices.DispId(-4)]
public System.Collections.IEnumerator GetEnumerator();
[<System.Runtime.InteropServices.DispId(-4)>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

Gibt zurück

Gibt einen IEnumerator zurück, der zur Iteration der Sammlung verwendet wird.

Implementiert

Attribute

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. Reset bringt den Enumerator auch wieder in diese Position. An dieser Position ist das Aufrufen von Current eine Ausnahme. Daher müssen Sie MoveNext aufrufen, um den Enumerator auf das erste Element der Sammlung vorzuschieben, bevor Sie den Wert von Current lesen.

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

Nachdem das Ende der Sammlung passiert ist, wird der Enumerator nach dem letzten Element in der Sammlung positioniert, und das Aufrufen von MoveNext gibt false zurück. Wenn der letzte Aufruf zu MoveNextfalse zurückgab, wirft das Aufrufen von Current eine Ausnahme. Um Current erneut auf das erste Element der Sammlung zu setzen, kannst du Reset und dann MoveNext aufrufen.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Sammlung vorgenommen werden, wie das Hinzufügen, Ändern oder Löschen von Elementen, wird der Enumerator unwiderruflich ungültig und der nächste Aufruf von MoveNext oder Reset wirft eine InvalidOperationException aus. Wenn die Sammlung zwischen MoveNext und Current modifiziert wird, gibt Current das Element zurück, auf das es gesetzt ist, selbst 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önnen 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: