Cette documentation est archivée et n’est pas conservée.

ReadOnlyCollection<T>.IEnumerable.GetEnumerator, méthode

Mise à jour : novembre 2007

Retourne un énumérateur qui parcourt une collection.

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

IEnumerator IEnumerable.GetEnumerator()
J# prend en charge l'utilisation d'implémentations d'interface explicite mais pas la déclaration de nouvelles implémentations d'interface explicite.
JScript ne prend pas en charge les implémentations d'interfaces explicites.

Valeur de retour

Type : System.Collections.IEnumerator

IEnumerator pouvant être utilisé pour parcourir la collection.

Implémentations

IEnumerable.GetEnumerator()

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

Initialement, l'énumérateur est positionné avant le premier élément de la collection. Reset remet également l'énumérateur à cette position. À 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 tant que MoveNext ou Reset n'est pas appelé. MoveNext affecte l'élément suivant à Current.

Si MoveNext passe la fin de la collection, l'énumérateur est placé 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. Pour affecter à nouveau Current au premier élément de la collection, vous pouvez appeler Reset, puis MoveNext.

Un énumérateur reste valide aussi longtemps que la collection demeure 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).

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0

XNA Framework

Pris en charge dans : 2.0, 1.0
Afficher: