Iteratoren in C# 2: Einfach den Compiler machen lassen


Thomas Wölfer
Thomas Wölfer

22. Dezember 2005


Irre praktisch: Mit "yield" baut der C# Compiler die Implementierung für IEnumerator automatisch. Über Instanzen der folgenden Klasse kann man problemlos mit foreach iterieren:

public class NameCollection : IEnumerable<string>
{
  
string[] names = { "Peter", "Paul", "Mary" };
  
public IEnumerator<string> GetEnumerator()
   {
     
for (int i = 0; i < names.Length; i++)
          yield return names[i];
   }
}