Cuprins:
Definiție - Ce înseamnă Iterator?
Un iterator, în contextul C #, este un bloc de cod care returnează o secvență ordonată de valori ale unei colecții sau matrice. Este o funcție de membru implementată folosind blocul iterator, care conține una sau mai multe declarații care conțin cuvântul cheie „randament”.
Un iterator este utilizat pentru a permite consumatorilor unei clase de containere, care conțin o colecție sau un tablou, să traverseze colecția folosind instrucțiunea „foreach” într-o manieră mai simplă. Se folosește cu clase de colectare puternic tipizate pentru a itera structuri complexe de date precum arborii binari, care necesită traversare recursivă și menținerea stării de iterație prin recurs. Conceptul de iterator este utilizat și în implementarea executării amânate în interogările LINQ.
Techopedia explică Iterator
Iteratorul se bazează pe un model de proiectare care oferă o metodă de a traversa elementele unei colecții de articole secvențial fără a expune structura de bază a colecției. Elimina sarcina obositoare a implementării interfeței „IEnumiator” manual atunci când se creează clase de colecție care acceptă declarația „foreach”. Codul limbajului intermediar necesar pentru implementarea metodelor și proprietăților interfeței IEnumerator este generat de compilator, ceea ce duce la o sintaxă mai simplă, dimensiunea codului redus și îmbunătățirea productivității dezvoltatorului.
În general, un iterator este similar cu un cursor al bazei de date, deoarece oferă acces la elementele de date dintr-o colecție, dar nu efectuează iterarea. Un iterator poate fi implementat în C # ca metodă, operator sau obține accesor. De exemplu, un iterator poate fi utilizat pentru a traversa o colecție de șiruri pentru a afișa conținutul fiecărui șir din colecție.
Un iterator este reprezentat de interfața IEnumerator și este implementat de compilator cu următoarele metode:
- MoveNext: o metodă care avansează la următorul element al colecției și indică sfârșitul acelei colecții
- Actual: proprietate care preia valoarea elementului la care este indicat în prezent
- Eliminați: Curăță iterația
