Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

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, IDictionaryEnumerator, IEnumerator

Il tipo generico Dictionary<TKey, TValue>.Enumerator espone i seguenti membri.

  NomeDescrizione
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreCurrentOttiene l'elemento in corrispondenza della posizione corrente dell'enumeratore.
In alto

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreDisposeConsente di rilasciare tutte le risorse utilizzate dall'oggetto Dictionary<TKey, TValue>.Enumerator.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEqualsIndica se questa istanza e un oggetto specificato sono uguali. (Ereditato da ValueType)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetHashCode Restituisce il codice hash per l'istanza corrente. (Ereditato da ValueType)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMoveNextSposta l'enumeratore all'elemento successivo dell'oggetto Dictionary<TKey, TValue>.
Metodo pubblicoSupportato da XNA FrameworkToStringRestituisce il nome completo del tipo di questa istanza. (Ereditato da ValueType)

In XNA Framework 3.0 questo membro viene ereditato da Object.ToString().
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaProprietà privataSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIDictionaryEnumerator.EntryOttiene l'elemento in corrispondenza della posizione corrente dell'enumeratore.
Implementazione esplicita dell'interfacciaProprietà privataSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIDictionaryEnumerator.KeyOttiene la chiave dell'elemento nella posizione corrente dell'enumeratore.
Implementazione esplicita dell'interfacciaProprietà privataSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIDictionaryEnumerator.ValueOttiene il valore dell'elemento nella posizione corrente dell'enumeratore.
Implementazione esplicita dell'interfacciaProprietà privataSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIEnumerator.CurrentOttiene l'elemento in corrispondenza della posizione corrente dell'enumeratore.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIEnumerator.ResetImposta l'enumeratore sulla propria posizione iniziale, ovvero prima del primo elemento nella raccolta.
In alto

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.

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

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 ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft