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
Informazioni
L'argomento richiesto è visualizzato di seguito, ma non è incluso in questa libreria.

Metodo Dictionary<TKey, TValue>.IEnumerable<KeyValuePair<TKey, TValue>>.GetEnumerator

Restituisce un enumeratore che consente di scorrere la raccolta.

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

IEnumerator<KeyValuePair<TKey, TValue>> IEnumerable<KeyValuePair<TKey, TValue>>.GetEnumerator()

Valore restituito

Tipo: System.Collections.Generic.IEnumerator<KeyValuePair<TKey, TValue>>
Oggetto IEnumerator<T> che può essere usato per eseguire l'iterazione della raccolta.

Implements

IEnumerable<T>.GetEnumerator()

Ai fini dell'enumerazione, ogni elemento è un KeyValuePair<TKey, TValue> struttura che rappresenta un valore e la relativa chiave.

Il foreach istruzione del linguaggio c# (for each in C++, For Each Visual Basic) nasconde la complessità degli enumeratori. Pertanto, si consiglia l'utilizzo di foreach, anziché la modifica diretta dell'enumeratore.

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

Inizialmente l'enumeratore è posizionato davanti al primo elemento della raccolta. In questa posizione, la Current proprietà è definita. Pertanto, è necessario chiamare il MoveNext metodo per spostare l'enumeratore al primo elemento della raccolta prima di leggere il valore di Current.

NotaNota

Per migliorare le prestazioni, l'enumeratore restituito da questa proprietà non genera un'eccezione se è posizionato prima del primo elemento o dopo l'ultimo elemento e Current si accede alla proprietà; il valore della Current proprietà è definita.

La Current proprietà restituisce lo stesso elemento fino a quando il MoveNext viene chiamato il metodo. MoveNext imposta Current sull'elemento successivo.

Se MoveNext raggiunge la fine della raccolta, l'enumeratore è posizionato dopo l'ultimo elemento nella raccolta e MoveNext restituisce false. Quando l'enumeratore si trova in questa posizione, le chiamate successive a MoveNext inoltre restituire false. Se l'ultima chiamata a MoveNext restituito false, Current è definito. 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 non subisce modifiche. In caso di modifiche alla raccolta, ad esempio aggiunta, modifica o eliminazione di elementi, l'enumeratore sarà reso non valido in modo irreversibile e il comportamento corrispondente non sarà definito.

L'enumeratore non dispone di accesso esclusivo alla raccolta. L'enumerazione di una raccolta non è quindi una procedura thread-safe. Per assicurare la protezione del thread durante l'enumerazione, è 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 la propria sincronizzazione.

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

Questo metodo è un'operazione o (1).

.NET Framework

Supportato in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8.1, Silverlight per Windows Phone 8

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per app di Windows Store

Supportato in:

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ogni piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Mostra: