class C {
public IEnumerator<int> GetEnumerator () {
yield return 2; yield return 3;
yield return 5; yield break;
}
}
bei Aufruf von MoveNext()
wird bis zum nächsten yield gerechnet.
aufrufendes Programm und Iterator verhalten sich wie Co-Routinen (Programme mit stückweise verschränkter Ausführung).
(Beispiel Primzahlen.)