Condividi tramite


PersonalizationStateInfoCollection.GetEnumerator Metodo

Definizione

Restituisce un enumeratore standard in grado di scorrere l'insieme. Questo metodo non può essere ereditato.

public:
 virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

Restituisce

IEnumerator

Oggetto IEnumerator che può essere usato per eseguire l'iterazione della raccolta.

Implementazioni

Commenti

È 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. Il Reset metodo riporta anche l'enumeratore a questa posizione. In questa posizione, la Current proprietà non è definita. Pertanto, è necessario chiamare il MoveNext metodo per far avanzare l'enumeratore al primo elemento della raccolta prima di leggere il valore di Current. Per altre informazioni sugli enumeratori, vedere IEnumerator.

Un enumeratore rimane valido finché la raccolta rimane invariata. 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'istruzione foreach del linguaggio C# (for each in Visual Basic) nasconde la complessità degli enumeratori. Pertanto, si consiglia l'utilizzo di foreach, anziché la modifica diretta dell'enumeratore.

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.

Si applica a