Freigeben über


SortedDictionary<TKey,TValue>.Enumerator Struktur

Definition

Listet die Elemente eines .SortedDictionary<TKey,TValue>

public: value class SortedDictionary<TKey, TValue>::Enumerator : System::Collections::Generic::IEnumerator<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::IDictionaryEnumerator
public struct SortedDictionary<TKey,TValue>.Enumerator : System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.IDictionaryEnumerator
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IEnumerator
    interface IDisposable
    interface IDictionaryEnumerator
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IDisposable
    interface IDictionaryEnumerator
    interface IEnumerator
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IDisposable
    interface IEnumerator
    interface IDictionaryEnumerator
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IDictionaryEnumerator
    interface IEnumerator
    interface IDisposable
Public Structure SortedDictionary(Of TKey, TValue).Enumerator
Implements IDictionaryEnumerator, IEnumerator(Of KeyValuePair(Of TKey, TValue))

Typparameter

TKey
TValue
Vererbung
SortedDictionary<TKey,TValue>.Enumerator
Implementiert

Hinweise

Die foreach Anweisung der C#-Sprache (For Each in Visual Basic) blendet die Komplexität von Enumerationen aus. Daher wird die Verwendung foreach empfohlen, anstatt den Enumerator direkt zu bearbeiten.

Enumeratoren können verwendet werden, um die Daten in der Auflistung zu lesen, aber sie 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 Current ist nicht definiert. Sie müssen die MoveNext Methode aufrufen, um den Enumerator zum ersten Element der Auflistung zu wechseln, bevor Sie den Wert von Current.

Die Current Eigenschaft gibt dasselbe Objekt zurück, bis MoveNext sie aufgerufen wird. MoveNext wird auf das nächste Element festgelegt Current .

Wenn MoveNext das Ende der Auflistung übergeben wird, wird der Enumerator nach dem letzten Element in der Auflistung positioniert und MoveNext zurückgegeben false. Wenn sich der Enumerator an dieser Position befindet, werden nachfolgende Aufrufe MoveNext zurückgegeben false. Wenn der letzte zurückgegebene falseCurrent Aufruf MoveNext nicht definiert ist. Sie können nicht erneut auf das erste Element der Auflistung festlegen Current . Stattdessen müssen Sie eine neue Enumerationsinstanz erstellen.

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 unwiderruflich ungültig und der nächste Aufruf an MoveNext oder IEnumerator.Reset löst einen InvalidOperationException.

Der Enumerator hat keinen exklusiven Zugriff auf die Sammlung; Daher ist das Aufzählen durch eine Sammlung intrinsisch keine threadsichere Prozedur. Um die Threadsicherheit während der Enumeration zu gewährleisten, können Sie die Sammlung während der gesamten Enumeration sperren. Damit auf die Sammlung über mehrere Threads zum Lesen und Schreiben zugegriffen werden kann, müssen Sie eine eigene Synchronisierung implementieren.

Standardimplementierungen von Auflistungen im System.Collections.Generic Namespace werden nicht synchronisiert.

Eigenschaften

Name Beschreibung
Current

Ruft das Element an der aktuellen Position des Enumerators ab.

Methoden

Name Beschreibung
Dispose()

Veröffentlicht alle ressourcen, die von der SortedDictionary<TKey,TValue>.Enumerator.

MoveNext()

Wechselt den Enumerator zum nächsten Element der SortedDictionary<TKey,TValue>.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IDictionaryEnumerator.Entry

Ruft das Element an der aktuellen Position des Enumerators als DictionaryEntry Struktur ab.

IDictionaryEnumerator.Key

Ruft den Schlüssel des Elements an der aktuellen Position des Enumerators ab.

IDictionaryEnumerator.Value

Ruft den Wert des Elements an der aktuellen Position des Enumerators ab.

IEnumerator.Current

Ruft das Element an der aktuellen Position des Enumerators ab.

IEnumerator.Reset()

Legt den Enumerator auf seine Anfangsposition fest, die sich vor dem ersten Element in der Auflistung befindet.

Gilt für:

Weitere Informationen