Obsah:
Definícia - Čo znamená Iterátor?
Iterátor v kontexte C # je blok kódu, ktorý vracia usporiadanú sekvenciu hodnôt kolekcie alebo poľa. Je to členská funkcia implementovaná pomocou iteračného bloku, ktorý obsahuje jeden alebo viac príkazov obsahujúcich kľúčové slovo „výnos“.
Iterátor sa používa na to, aby umožnil spotrebiteľom triedy kontajnerov obsahujúcej kolekciu alebo pole jednoduchšie prechádzať kolekciou pomocou príkazu „foreach“. Používa sa v silne typizovaných kolekciách tried na opakovanie zložitých štruktúr údajov, ako sú binárne stromy, ktoré vyžadujú rekurzívny prechod a udržujú iteračný stav prostredníctvom rekurzie. Koncept iterátora sa používa aj pri implementácii oneskoreného vykonávania v dotazoch LINQ.
Techopedia vysvetľuje Iterator
Iterátor je založený na návrhovom vzore, ktorý poskytuje spôsob postupného prechádzania prvkov kolekcie položiek bez odkrytia základnej štruktúry kolekcie. Eliminuje zdĺhavú úlohu manuálnej implementácie rozhrania „IEnumerator“ pri vytváraní tried kolekcie, ktoré podporujú príkaz „foreach“. Kód sprostredkujúceho jazyka potrebný na implementáciu metód a vlastností rozhrania IEnumerator je generovaný kompilátorom, čo vedie k jednoduchšej syntaxi, zmenšeniu veľkosti kódu a zlepšeniu produktivity vývojárov.
Vo všeobecnosti je iterátor podobný databázovému kurzoru v tom, že poskytuje prístup k dátovým prvkom v kolekcii, ale nevykonáva iteráciu. Iterátor môže byť implementovaný v C # ako metóda, operátor alebo získať prístupového člena. Napríklad iterátor sa môže použiť na prechádzanie kolekciou reťazcov na zobrazenie obsahu každého reťazca v kolekcii.
Iterátor je reprezentovaný rozhraním IEnumerator a je implementovaný kompilátorom nasledujúcimi metódami:
- MoveNext: Metóda, ktorá postupuje k nasledujúcemu prvku kolekcie a označuje koniec tejto kolekcie
- Current: Vlastnosť, ktorá vyvolá hodnotu prvku, na ktorý sa práve odkazuje
- Likvidácia: Čistí iteráciu
