Iteratoren

Das Verb iterieren bedeutet aus einer Kollektion (engl. Collection) nacheinander durch die enthaltenen Elemente durch zulaufen. Nichts anderes tut ja auch die foreach Schleife.

Doch was ist dazu Notwendig, damit eine Iteration stattfinden kann? Die Collection muss die IEnumerable Schnittstelle unterstützen.

IEnumerable besitzt einen Inhaltsverzeichnis (engl. Index) welcher alle Elemente der Liste durchnummeriert beinhaltet. Weiter hat die Schnittstelle eine Methode getEnumerable() um diesen Index auszugeben. Genau dies tut auch die foreach Schleife. Sie ruft die Methode getEnumerable() auf und durchläuft vom ersten bis zum letzten Enumerator.

Interatoren_Standard

Glücklicherweise beinhalten die meisten Collections in .NET diese Schnittstelle (Array, List, DataRow usw.)

Interatoren_2

Möchte man nun, dass eine Klasse nach einem bestimmten Muster iteriert wird, bietet es sich an, eine Metode in dieser Klasse zu erstellen welche vom Typ
[crayon-6767f5ec4b369475068742/]
ist und die einzelnen  Collection Elemente neu setzt. Beispiel:
[crayon-6767f5ec4b36f976025325/]
[crayon-6767f5ec4b370793271050/]
durch einen Aufruf von
[crayon-6767f5ec4b372755663842/]
wird auch nur die ersten 3 durchiteriert

 

 

Quelle: http://www.s-line.de/homepages/trac/wissen/dot-net/csharp-2.html