C# forech zähler

NSR

Mitglied
Sers Leute,

hat foreach einen eigenen Zähler? Denn irgendwie muss die foreach ja auch Wissen bei welchem Element sie zuletzt war.

Klar kann man einfach eine Variable anlegen und die hochzählen, aber wenn foreach was eigenes hat wär das ja überflüssig.


Schonmal danke für die Antworten und nen schönes Wochenende,

Nico
 
Um das Rätsel der foreach-Schleife zu lösen:
foreach funktioniert nur bei Auflistungen, die IEnumerable und/oder IEnumerator implementieren oder IEnumerator implizit dadurch implementieren, dass sie die entsprechenden Member haben (Details siehe hier).
foreach ruft dann solange abwechselnd MoveNext und Current auf, bis MoveNext false zurückgegeben hat. Foreach verwendet also keinen Zähler, nur der IEnumerator verwendet ggf. intern einen Zähler. Der ist für Foreach aber nicht sichtbar.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: NSR

Neue Beiträge

Zurück