Итератор

Автор: Randy Alexander
Дата создания: 23 Апрель 2021
Дата обновления: 14 Май 2024
Anonim
Итераторы STL | Библиотека стандартных шаблонов (stl) | Уроки | C++ | #2
Видео: Итераторы STL | Библиотека стандартных шаблонов (stl) | Уроки | C++ | #2

Содержание

Определение - Что означает Итератор?

Итератор в C # - это блок кода, который возвращает упорядоченную последовательность значений коллекции или массива. Это функция-член, реализованная с использованием блока итератора, который содержит один или несколько операторов, содержащих ключевое слово yield.

Итератор используется, чтобы позволить потребителям класса контейнера, содержащего коллекцию или массив, проходить через коллекцию более простым способом с помощью оператора «foreach». Он используется со строго типизированными классами коллекций для итерации сложных структур данных, таких как двоичные деревья, которые требуют рекурсивного обхода и поддерживают состояние итерации посредством рекурсии. Концепция итератора также используется при реализации отложенного выполнения в запросах LINQ.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Техопедия объясняет Итератор

Итератор основан на шаблоне проектирования, который предоставляет метод для последовательного обхода элементов коллекции элементов без раскрытия базовой структуры коллекции. Это устраняет утомительную задачу реализации интерфейса «IEnumerator» вручную при создании классов коллекций, которые поддерживают оператор «foreach». Код на промежуточном языке, необходимый для реализации методов и свойств интерфейса IEnumerator, генерируется компилятором, что приводит к упрощению синтаксиса, уменьшению размера кода и повышению производительности труда разработчика.

В целом, итератор похож на курсор базы данных в том, что он обеспечивает доступ к элементам данных в коллекции, но не выполняет итерацию.Итератор может быть реализован в C # как метод, оператор или метод доступа get. Например, итератор может использоваться для обхода набора строк для отображения содержимого каждой строки в коллекции.

Итератор представлен интерфейсом IEnumerator и реализуется компилятором следующими методами:
  • MoveNext: метод, который переходит к следующему элементу коллекции и указывает на конец этой коллекции
  • Current: свойство, которое выбирает значение элемента, на который в данный момент указывает
  • Утилизация: очищает итерацию
GetEnumerator () является методом итератора по умолчанию интерфейса IEnumerable. Этот метод может быть реализован в коллекции, содержащей класс контейнера. Метод GetEnumerator () вызывается при выполнении оператора foreach, который использует возвращенный перечислитель для перебора значений. Оператор yield return используется в блоке итератора для извлечения элемента коллекции. Это также помогает позиционировать текущее местоположение так, чтобы выполнение начиналось с этого места в следующий раз, когда оно происходит. Оператор yield break завершает итерацию. Это определение было написано в кон C #