Spisu treści:
Definicja - Co oznacza Iterator?
Iterator, w kontekście C #, to blok kodu, który zwraca uporządkowaną sekwencję wartości kolekcji lub tablicy. Jest to funkcja składowa zaimplementowana przy użyciu bloku iteratora, który zawiera jedną lub więcej instrukcji zawierających słowo kluczowe „fed”.
Iterator służy do umożliwienia konsumentom klasy kontenera, zawierającej kolekcję lub tablicę, przechodzenie przez kolekcję przy użyciu instrukcji „foreach” w prostszy sposób. Jest używany z silnie typowanymi klasami kolekcji do iteracji złożonych struktur danych, takich jak drzewa binarne, które wymagają rekurencyjnego przechodzenia i utrzymywania stanu iteracji poprzez rekurencję. Koncepcja iteratora jest również używana do implementacji odroczonego wykonywania w zapytaniach LINQ.
Techopedia wyjaśnia Iterator
Iterator opiera się na wzorcu projektowym, który zapewnia metodę sekwencyjnego przechodzenia przez elementy kolekcji elementów bez ujawniania podstawowej struktury kolekcji. Eliminuje to żmudne zadanie ręcznego wdrażania interfejsu „IEnumerator” podczas tworzenia klas kolekcji obsługujących instrukcję „foreach”. Kod języka pośredniego niezbędny do implementacji metod i właściwości interfejsu IEnumerator jest generowany przez kompilator, co skutkuje prostszą składnią, zmniejszonym rozmiarem kodu i poprawą produktywności programisty.
Ogólnie iterator jest podobny do kursora bazy danych, ponieważ zapewnia dostęp do elementów danych w kolekcji, ale nie wykonuje iteracji. Iterator można zaimplementować w języku C # jako metodę, operator lub uzyskać akcesor. Na przykład iterator może być używany do przechodzenia przez zbiór ciągów w celu wyświetlenia zawartości każdego ciągu w kolekcji.
Iterator jest reprezentowany przez interfejs IEnumerator i jest implementowany przez kompilator przy użyciu następujących metod:
- MoveNext: Metoda, która przechodzi do następnego elementu kolekcji i wskazuje koniec tej kolekcji
- Current: Właściwość, która pobiera wartość wskazywanego elementu
- Usuń: Czyści iterację
