NameObjectCollectionBase.GetEnumerator-Methode
Gibt einen Enumerator zurück, der die NameObjectCollectionBase durchläuft.
Namespace: System.Collections.Specialized
Assembly: System (in system.dll)
Syntax
'Declaration
Public Overridable Function GetEnumerator As IEnumerator
'Usage
Dim instance As NameObjectCollectionBase
Dim returnValue As IEnumerator
returnValue = instance.GetEnumerator
public virtual IEnumerator GetEnumerator ()
public:
virtual IEnumerator^ GetEnumerator ()
public IEnumerator GetEnumerator ()
public function GetEnumerator () : IEnumerator
Rückgabewert
Ein IEnumerator für die NameObjectCollectionBase-Instanz.
Hinweise
Dieser Enumerator gibt die Schlüssel der Auflistung als Zeichenfolgen zurück.
Die foreach-Anweisung der Programmiersprache C# (for each in Visual Basic) verbirgt die Komplexität der Enumeratoren. Daher wird empfohlen, foreach zu verwenden, anstatt den Enumerator direkt zu bearbeiten.
Mit Enumeratoren können die Daten in der Auflistung zwar gelesen, jedoch nicht zum Ändern der zugrunde liegenden Auflistung verwendet werden.
Anfangs wird der Enumerator vor dem ersten Element in der Auflistung positioniert. Reset setzt den Enumerator ebenfalls auf diese Position zurück. An dieser Position ist Current nicht definiert. Daher muss der Enumerator durch das Aufrufen von MoveNext auf das erste Element der Auflistung festgelegt werden, bevor der Wert von Current gelesen werden kann.
Current gibt so lange dasselbe Objekt zurück, bis MoveNext oder Reset aufgerufen wird. MoveNext legt Current auf das nächste Element fest.
Wenn MoveNext das Ende der Auflistung erreicht, wird der Enumerator nach dem letzten Element in der Auflistung positioniert, und MoveNext gibt false zurück. Wenn sich der Enumerator an dieser Position befindet, geben nachfolgende Aufrufe von MoveNext ebenfalls false zurück. Wenn der letzte Aufruf von MoveNext false zurückgegeben hat, ist Current nicht definiert. Um Current wieder auf das erste Element der Auflistung zu setzen, können Sie Reset gefolgt von MoveNext aufrufen.
Ein Enumerator bleibt so lange gültig, bis die Auflistung geändert wird. Wenn an der Auflistung Änderungen vorgenommen werden, z. B. durch Hinzufügen, Ändern oder Löschen von Elementen, ist der Enumerator unwiderruflich ungültig und das zugehörige Verhalten nicht definiert.
Der Enumerator hat keinen exklusiven Zugriff auf die Auflistung. Daher ist die Enumeration einer Auflistung systemintern keine threadsichere Prozedur. Um Threadsicherheit während der Enumeration zu gewährleisten, 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.
Diese Methode ist eine O(1)-Operation.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
NameObjectCollectionBase-Klasse
NameObjectCollectionBase-Member
System.Collections.Specialized-Namespace