Sobes.tech
Junior — Middle

De quels éléments se compose la structure interne de l'opérateur foreach en C#?

sobes.tech IA

Réponse de l'IA

Le fonctionnement interne de l'opérateur foreach en C# repose sur l'utilisation de l'interface IEnumerable et de sa méthode GetEnumerator(). Les éléments principaux :

  • Collection implémentant IEnumerable — l'objet sur lequel la boucle itère.
  • Enumerateur (enumerator), implémentant IEnumerator — l'objet qui contrôle l'itération sur la collection.
  • Méthode MoveNext() — déplace le pointeur vers l'élément suivant.
  • Propriété Current — retourne l'élément courant.

Exemple de ce qui se passe en coulisses :

IEnumerable collection = ...;
IEnumerator enumerator = collection.GetEnumerator();

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // corps de la boucle foreach
}

Ainsi, foreach simplifie le travail avec les énumérateurs, en cachant les détails de l'appel à GetEnumerator(), MoveNext() et l'accès à Current.