Зміст:
Визначення - Що означає Ітератор?
Ітератор в контексті C # - це блок коду, який повертає впорядковану послідовність значень колекції або масиву. Це функція-член, реалізована за допомогою блоку ітераторів, який містить одне або більше висловлювань, що містять ключове слово «вихід»
Ітератор використовується для того, щоб дати можливість споживачам контейнерного класу, що містить колекцію або масив, простіше збирати колекцію за допомогою оператора "foreach" більш простим способом. Він використовується із сильно типізованими класами збору для ітерації складних структур даних, таких як двійкові дерева, які потребують рекурсивного переходу та підтримки стану ітерації через рекурсію. Поняття ітератора також використовується при реалізації відкладеного виконання в запитах LINQ.
Техопедія пояснює Ітератор
Ітератор заснований на схемі дизайну, яка забезпечує спосіб послідовно перетинати елементи колекції предметів, не піддаючи основній структурі колекції. Це виключає виснажливе завдання реалізації інтерфейсу "IEnumerator" вручну під час створення класів колекцій, що підтримують заяву "foreach". Код проміжної мови, необхідний для реалізації методів та властивостей інтерфейсу IEnumerator, генерується компілятором, що призводить до більш простого синтаксису, зменшення розміру коду та підвищення продуктивності розробника.
Взагалі ітератор схожий на курсор бази даних тим, що забезпечує доступ до елементів даних у колекції, але не виконує ітерації. Ітератор може бути реалізований в C # як метод, оператор або отримати аксесуар. Наприклад, ітератор може використовуватися для проходження колекції рядків для відображення вмісту кожної рядки в колекції.
Ітератор представлений інтерфейсом IEnumerator та реалізований компілятором з наступними методами:
- MoveNext: метод, який переходить до наступного елемента колекції і вказує на кінець цієї колекції
- Поточний: Властивість, яка отримує значення елемента, на який зараз вказується
- Утилізація: очищає ітерацію