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

Metodo ActivityCollection.IEnumerable<Activity>.GetEnumerator ()

 

Data di pubblicazione: novembre 2016

Restituisce un enumeratore che consente di scorrere la raccolta.

Spazio dei nomi:   System.Workflow.ComponentModel
Assembly:  System.Workflow.ComponentModel (in System.Workflow.ComponentModel.dll)

IEnumerator<Activity> IEnumerable<Activity>.GetEnumerator()

Valore restituito

Type: System.Collections.Generic.IEnumerator<Activity>

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

Il foreach istruzione del linguaggio c# (foreach in C++, ForEach 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 il metodo MoveNext raggiunge 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 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.

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: