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
IEnumerableimplementiert — das Objekt, über das iteriert wird. - Enumerator (Aufzählung), der
IEnumeratorimplementiert — 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.