Sobes.tech
Junior — Middle

Aus welchen Elementen besteht die interne Struktur des foreach-Operators in C#?

sobes.tech KI

Antwort von AI

Die interne Funktionsweise des foreach-Operators in C# basiert auf der Verwendung der Schnittstelle IEnumerable und ihrer Methode GetEnumerator(). Die Hauptbestandteile:

  • Sammlung, die IEnumerable implementiert — das Objekt, über das iteriert wird.
  • Enumerator (Aufzählung), der IEnumerator implementiert — das Objekt, das die Iteration über die Sammlung steuert.
  • Methode MoveNext() — verschiebt den Zeiger auf das nächste Element der Sammlung.
  • Eigenschaft Current — gibt das aktuelle Element der Sammlung zurück.

Beispiel, was im Hintergrund passiert:

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

while (enumerator.MoveNext())
{
    var item = enumerator.Current;
    // Körper der foreach-Schleife
}

Auf diese Weise vereinfacht foreach die Arbeit mit Enumeratoren, indem es die Details des Aufrufs von GetEnumerator(), MoveNext() und den Zugriff auf Current verbirgt.