SortedDictionary<TKey,TValue>.Enumerator Struktur

Definition

Zählt die Elemente einer SortedDictionary<TKey,TValue> auf.

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
type SortedDictionary<'Key, 'Value>.Enumerator = struct
    interface IEnumerator<KeyValuePair<'Key, 'Value>>
    interface IDictionaryEnumerator
    interface IDisposable
    interface IEnumerator
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 C++, For Each in Visual Basic) blendet die Komplexität der Aufzählungen aus. Daher empfiehlt es sich, foreach zu verwenden und den Enumerator nicht direkt zu ändern.

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. An dieser Position ist Current nicht definiert. Sie müssen die MoveNext Methode aufrufen, um den Aufzählungsator auf das erste Element der Auflistung zu aktualisieren, bevor Der Wert Currentgelesen wird.

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

Wenn MoveNext das Ende der Auflistung übergibt, wird der Enumerator hinter dem letzten Element in der Auflistung platziert, und MoveNext gibt false zurück. Wenn sich der Enumerator an dieser Position befindet, geben nachfolgende Aufrufe von MoveNext auch false zurück. Wenn der letzte Aufruf MoveNext zurückgegebene false, Current ist nicht definiert. Sie können Current nicht erneut auf das erste Element der Auflistung festlegen, sondern müssen eine neue Enumeratorinstanz 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 Aufzählungsator unaufwendbar ungültig und der nächste Aufruf an MoveNext oder IEnumerator.Reset löst eine InvalidOperationException.

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.

Standardimplementierungen der Auflistungen im System.Collections.Generic-Namespace werden nicht synchronisiert.

Eigenschaften

Current

Ruft das Element an der aktuellen Position des Enumerators ab.

Methoden

Dispose()

Gibt alle vom SortedDictionary<TKey,TValue>.Enumerator verwendeten Ressourcen frei.

MoveNext()

Setzt den Enumerator auf das nächste Element der SortedDictionary<TKey,TValue>.

Explizite Schnittstellenimplementierungen

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()

Setzt den Enumerator auf seine anfängliche Position vor dem ersten Element in der Auflistung.

Gilt für

Siehe auch