Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais
Cette documentation est archivée et n’est pas conservée.

Collection<T>.GetEnumerator, méthode

Retourne un énumérateur qui itère au sein de Collection<T>.

Espace de noms :  System.Collections.ObjectModel
Assembly :  mscorlib (dans mscorlib.dll)

public IEnumerator<T> GetEnumerator()

Implémentations

IEnumerable<T>.GetEnumerator()

L'instruction foreach du langage C# (for each en C++, For Each en Visual Basic) cache 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 d'une collection, mais ils ne permettent pas de modifier la collection sous-jacente.

L'énumérateur est initialement 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 au premier élément de la collection avant la lecture de la valeur de Current.

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

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

Un énumérateur reste valide tant que la collection reste inchangée. Si la collection est modifiée en ajoutant, modifiant ou supprimant des éléments, l'énumérateur devient irrévocablement non valide et son comportement n'est pas défini.

L'énumérateur ne dispose pas d'un accès exclusif à la collection. Par conséquent, l'énumération d'une collection n'est intrinsèquement pas une procédure thread-safe. Pour garantir la sécurité des threads pendant l'énumération, vous pouvez verrouiller la collection pendant toute la durée 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 System.Collections.Generic ne sont pas synchronisées.

Cette méthode est une opération O(1).

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Afficher: