Дом развитие Что такое итератор в c? - определение из техопедии

Что такое итератор в c? - определение из техопедии

Оглавление:

Anonim

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

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


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

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

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


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


Итератор представлен интерфейсом IEnumerator и реализуется компилятором следующими методами:

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