Sobes.tech
Junior — Middle

Waaruit bestaat de interne structuur van de foreach-operator in C#?

sobes.tech AI

Antwoord van AI

De interne werking van de foreach-operator in C# is gebaseerd op het gebruik van de IEnumerable-interface en de methode GetEnumerator(). De belangrijkste onderdelen:

  • Verzameling die IEnumerable implementeert — het object waarop wordt geïtereerd.
  • Enumerator (enumerator), die IEnumerator implementeert — het object dat de iteratie over de verzameling beheert.
  • Methode MoveNext() — verplaatst de aanwijzer naar het volgende element.
  • Eigenschap Current — geeft het huidige element van de verzameling terug.

Voorbeeld van wat er onder de motorkap gebeurt:

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

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // lichaam van de foreach-lus
}

Op deze manier vereenvoudigt foreach het werken met enumerators, door de details van de aanroep van GetEnumerator(), MoveNext() en toegang tot Current te verbergen.