Obsah:
Definice - Co znamená Iterátor?
Iterátor v kontextu C # je blok kódu, který vrací uspořádanou sekvenci hodnot kolekce nebo pole. Je to členská funkce implementovaná pomocí iterátorového bloku, který obsahuje jeden nebo více příkazů obsahujících klíčové slovo „výnos“.
Iterátor se používá k tomu, aby umožnil spotřebitelům třídy kontejnerů, která obsahuje kolekci nebo pole, jednodušším způsobem procházet kolekci pomocí příkazu „foreach“. Používá se u silně typovaných tříd kolekce pro iteraci složitých datových struktur, jako jsou binární stromy, které vyžadují rekurzivní traversal a udržování iteračního stavu pomocí rekurze. Koncept iterátoru se také používá při implementaci odloženého spuštění v dotazech LINQ.
Techopedia vysvětluje Iterator
Iterátor je založen na konstrukčním vzoru, který poskytuje metodu pro postupné procházení prvků kolekce položek bez odhalení základní struktury kolekce. Při vytváření tříd kolekce, které podporují příkaz „foreach“, eliminuje únavný úkol manuálního implementace rozhraní „IEnumerator“. Kód zprostředkujícího jazyka nezbytný pro implementaci metod a vlastností rozhraní IEnumerator je generován kompilátorem, což má za následek jednodušší syntaxi, zmenšení velikosti kódu a zlepšení produktivity vývojářů.
Obecně je iterátor podobný databázovému kurzoru v tom, že poskytuje přístup k datovým prvkům v kolekci, ale neprovádí iteraci. Iterátor může být implementován v C # jako metoda, operátor nebo získat přístup. Například iterátor lze použít k procházení kolekcí řetězců pro zobrazení obsahu každého řetězce v kolekci.
Iterátor je reprezentován rozhraním IEnumerator a je implementován kompilátorem následujícími metodami:
- MoveNext: Metoda, která postupuje k dalšímu prvku kolekce a označuje konec této kolekce
- Aktuální: Vlastnost, která vyvolá hodnotu prvku, na který je právě odkazováno
- Likvidace: Vyčistí iteraci
