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 LinkedList<T>.Enumerator

 

Data di pubblicazione: ottobre 2016

Enumera gli elementi di un oggetto LinkedList<T>.

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

[SerializableAttribute]
public struct Enumerator : IEnumerator<T>, IDisposable, IEnumerator, 
	ISerializable, IDeserializationCallback

NomeDescrizione
System_CAPS_pubpropertyCurrent

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

NomeDescrizione
System_CAPS_pubmethodDispose()

Rilascia tutte le risorse usate da LinkedList<T>.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 l'istanza.(Ereditato da ValueType.)

System_CAPS_pubmethodGetType()

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

System_CAPS_pubmethodMoveNext()

Sposta l'enumeratore all'elemento successivo dell'oggetto LinkedList<T>.

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. Questa classe non può essere ereditata.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDeserializationCallback.OnDeserialization(Object)

Implementa l'interfaccia System.Runtime.Serialization.ISerializable e genera l'evento di deserializzazione quando la deserializzazione è completa.

System_CAPS_pubinterfaceSystem_CAPS_privmethodISerializable.GetObjectData(SerializationInfo, StreamingContext)

Implementa l'interfaccia System.Runtime.Serialization.ISerializable e restituisce i dati necessari a serializzare l'istanza di LinkedList<T>.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIEnumerator.Current

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

Il foreach istruzione del linguaggio c# (for each in C++, For Each in 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 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.

La proprietà Current restituisce lo stesso oggetto finché non viene chiamato il metodo MoveNext. 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 restituiscono 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 in System.Collections.Generic non sono sincronizzati.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: