Partager via


ActivityCollection.IEnumerable<Activity>.GetEnumerator Méthode

Définition

Retourne un énumérateur qui itère au sein de la collection.

 virtual System::Collections::Generic::IEnumerator<System::Workflow::ComponentModel::Activity ^> ^ System.Collections.Generic.IEnumerable<System.Workflow.ComponentModel.Activity>.GetEnumerator() = System::Collections::Generic::IEnumerable<System::Workflow::ComponentModel::Activity ^>::GetEnumerator;
System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity> IEnumerable<Activity>.GetEnumerator ();
abstract member System.Collections.Generic.IEnumerable<System.Workflow.ComponentModel.Activity>.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity>
override this.System.Collections.Generic.IEnumerable<System.Workflow.ComponentModel.Activity>.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity>
Function GetEnumerator () As IEnumerator(Of Activity) Implements IEnumerable(Of Activity).GetEnumerator

Retours

IEnumerator<Activity>

IEnumerator<T> qui peut être utilisé pour itérer la collection.

Implémente

Remarques

L’instruction foreach du langage C# (for eachen C++, For Each en Visual Basic) masque la complexité des énumérateurs. Il est donc recommandé d'utiliser foreach plutôt que de manipuler l'énumérateur directement.

Les énumérateurs peuvent être utilisés pour lire les données de la collection, mais ils ne permettent pas de modifier la collection sous-jacente.

Au départ, l'énumérateur est positionné avant le premier élément de la collection. À cette position, Current n'est pas défini. Par conséquent, vous devez appeler MoveNext pour avancer l'énumérateur jusqu'au premier élément de la collection avant de lire la valeur de Current.

Current retourne le même objet jusqu'à ce que MoveNext soit appelé. MoveNext affecte l'élément suivant à Current.

Si MoveNext dépasse la fin de la collection, l’énumérateur est placé après le dernier élément de la collection et MoveNext retourne une valeur false. Lorsque l'énumérateur se trouve à cette position, les appels suivants à MoveNext retournent également une valeur false. Si le dernier appel à MoveNext a retourné une valeur false, Current n'est pas défini. Vous ne pouvez pas attribuer de nouveau Current au premier élément de la collection ; vous devez créer une nouvelle instance de l’énumérateur à la place.

Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si des modifications sont apportées à la collection, telles que l’ajout, la modification ou la suppression d’éléments, l’énumérateur est définitivement invalidé et son comportement n’est pas défini.

Comme l’énumérateur ne dispose pas d’un accès exclusif à la collection, l’énumération d’une collection n’est pas intrinsèquement une procédure thread-safe. Pour garantir la sécurité des threads pendant l'énumération, vous pouvez verrouiller la collection tout au long de cette opération. Pour permettre à plusieurs threads d’accéder en lecture et en écriture à la collection, vous devez implémenter votre propre synchronisation.

Les implémentations par défaut de collections dans l'espace de noms System.Collections.Generic ne sont pas synchronisées.

S’applique à