Enumeratory i iteratory

Enumeracja

Enumerator to kursor tylko do odczytu, przesuwany wyłącznie do przodu wzdłuż sekwencji wartości. Enumerator to równocześnie obiekt, który implementuje interfejs System.Collections.IEnumerator albo System.Collections.Generic.IEnumerator<T>.

Instrukcja foreach realizuje operację iterowania po obiekcie „przeliczalnym” (ang. enumerable). Taki obiekt to logiczna reprezentacja sekwencji wartości; sam w sobie nie jest kursorem, ale obiektem, który generuje kursor sam dla siebie. Obiekt przeliczalny to taki obiekt, który implementuje interfejs IEnumerable albo IEnumerable<T>, ewentualnie posiada metodę o nazwie GetEnumerator zwracającą enumerator.

Typowa implementacja enumeracji wygląda następująco:

class Enumerator ...

Get C# 7.0 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.