Dictionary(TKey, TValue).Enumerator Struttura
TOC
Comprimi il sommario
Espandi il sommario
Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Struttura Dictionary<TKey, TValue>.Enumerator

 

Enumera gli elementi di un oggetto Dictionary<TKey, TValue>.

Spazio dei nomi:   System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
public struct Enumerator : IEnumerator<KeyValuePair<TKey, TValue>>, 
	IDisposable, IEnumerator, IDictionaryEnumerator

NomeDescrizione
System_CAPS_pubpropertyCurrent

Ottiene l'elemento in corrispondenza della posizione corrente dell'enumeratore.

NomeDescrizione
System_CAPS_pubmethodDispose()

Consente di rilasciare tutte le risorse utilizzate dall'oggetto Dictionary<TKey, TValue>.Enumerator.

System_CAPS_pubmethodEquals(Object)

Indica se questa istanza e un oggetto specificato sono uguali.(Ereditato da ValueType.)

System_CAPS_pubmethodGetHashCode()

Restituisce il codice hash per questa istanza. (Ereditato da ValueType.)

System_CAPS_pubmethodGetType()

Ottiene il Type dell'istanza corrente. (Ereditato da Object.)

System_CAPS_pubmethodMoveNext()

Sposta l'enumeratore all'elemento successivo dell'oggetto Dictionary<TKey, TValue>.

System_CAPS_pubmethodToString()

Restituisce il nome completo del tipo di questa istanza.(Ereditato da ValueType.)

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerator.Reset()

Imposta l'enumeratore sulla propria posizione iniziale, ovvero prima del primo elemento nella raccolta.

L'istruzione foreach del linguaggio C# (for each in C++, For Each in Visual Basic) consente di nascondere la complessità degli enumeratori.Pertanto, si consiglia di utilizzare foreach, piuttosto che modificare direttamente l'enumeratore.

È possibile utilizzare enumeratori per leggere i dati nella raccolta, ma non per modificare la raccolta sottostante.

Inizialmente, l'enumeratore è posizionato prima del primo elemento della raccolta.In questa posizione, la proprietà Current è indefinita.Pertanto, è necessario chiamare il metodo MoveNext per spostare in avanti l'enumeratore, in corrispondenza del primo elemento della raccolta, prima di leggere il valore di Current.

Current restituisce lo stesso oggetto fino alla chiamata di MoveNext. MoveNext imposta Current sull'elemento successivo.

Se il metodo MoveNext supera la fine della raccolta, l'enumeratore viene posizionato dopo l'ultimo elemento della raccolta e il metodo MoveNext restituisce false.Quando l'enumeratore si trova in questa posizione, anche le successive chiamate al metodo MoveNext restituiscono false.Se l'ultima chiamata al metodo MoveNext ha restituito false, la proprietà Current è indefinita.Non è possibile impostare nuovamente la proprietà Current sul primo elemento della raccolta; è necessario creare una nuova istanza di enumeratore.

Un enumeratore rimane valido fino a quando la raccolta rimane invariata.Se vengono apportate modifiche alla raccolta, ad esempio l'aggiunta, la modifica o l'eliminazione di elementi, l'enumeratore verrà irrimediabilmente invalidato e il relativo comportamento sarà non definito.

L'enumeratore non dispone di accesso esclusivo alla raccolta, pertanto il processo di enumerazione di una raccolta non è di per sé thread-safe.Per garantire che l'enumerazione sia thread-safe, è possibile bloccare la raccolta durante l'intera enumerazione. Per consentire l'accesso alla raccolta in lettura e scrittura da parte di più thread, è necessario implementare una sincronizzazione personalizzata.

Le implementazioni predefinite di raccolte nello spazio dei nomi System.Collections.Generic non sono sincronizzate.

Universal Windows Platform
Disponibile da 4.5
.NET Framework
Disponibile da 2.0
Portable Class Library
Supportato in: portable .NET platforms
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

Eventuali membri pubblici statici (Shared in Visual Basic) di questo tipo sono thread-safe. I membri di istanza non sono garantiti come thread-safe.

Torna all'inizio
Mostra:
© 2016 Microsoft