Съдържание:
Определение - Какво означава Iterator?
Итераторът в контекста на C # е блок от код, който връща подредена последователност от стойности на колекция или масив. Това е функция член, реализирана с помощта на итераторския блок, който съдържа един или повече оператори, съдържащи ключовата дума "добив".
Итераторът се използва, за да даде възможност на потребителите от клас контейнери, съдържащи колекция или масив, да преминават през колекцията, използвайки израза "foreach" по-опростен начин. Използва се със силно типизирани класове за събиране за итерация на сложни структури от данни като двоични дървета, които изискват рекурсивно преминаване и поддържат итерационното състояние чрез рекурсията. Концепцията за итератор се използва и при реализиране на отложено изпълнение в LINQ заявки.
Техопедия обяснява Итератор
Итераторът се основава на модел на дизайн, който предоставя метод за последователно преминаване на елементите от колекция от елементи, без да се излага основната структура на колекцията. Той елиминира досадната задача за внедряване на интерфейса "IEnumerator" ръчно при създаване на класове за събиране, които поддържат оператора "foreach". Кодът на междинен език, необходим за реализиране на методите и свойствата на интерфейса на IEnumerator, се генерира от компилатора, което води до по-опростен синтаксис, намален размер на кода и подобряване на производителността на разработчиците.
По принцип итераторът е подобен на курсора на базата данни по това, че осигурява достъп до елементи от данни в колекция, но не извършва итерация. Итераторът може да бъде реализиран в C # като метод, оператор или да получи достъп. Например, итератор може да се използва за преминаване на колекция от низове, за да се покаже съдържанието на всеки низ в колекцията.
Итераторът е представен от интерфейса IEnumerator и се реализира от компилатора със следните методи:
- MoveNext: Метод, който преминава към следващия елемент от колекцията и показва края на тази колекция
- Текущо: Свойство, което извлича стойността на елемента, към който се сочи в момента
- Изхвърлете: Почиства итерацията