Assembly : System (dans system.dll)
SyntaxePublic Structure Enumerator Implements IEnumerator(Of TKey), IDisposable, _ IEnumerator
Dim instance As Enumerator
public struct Enumerator : IEnumerator<TKey>, IDisposable,
IEnumerator
public value class Enumerator : IEnumerator<TKey>, IDisposable, IEnumerator
J# prend en charge l'utilisation de types et de méthodes génériques mais pas la déclaration de nouveaux types et de méthodes génériques.
JScript ne prend pas en charge les types et les méthodes génériques.
NotesL'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, la propriété Current n'est pas définie. Par conséquent, vous devez appeler la méthode MoveNext pour avancer l'énumérateur au premier élément de la collection avant la lecture de la valeur de Current.
La propriété Current retourne le même objet jusqu'à ce que MoveNext soit appelé. MoveNext affecte Current à l'élément suivant.
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. 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 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 l'espace de noms System.Collections.Generic ne sont pas synchronisées.
Sécurité des threads
Plates-formesWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ