Разница между IEnumerable и IEnumerator (с таблицей)

Оглавление:

Anonim

IEnumerable и IEnumerator - это интерфейсы, доступные в C #. Первый - это модуль, а второй - объект.

IEnumerable создает IEnumerator. Здесь GetEnumerator используется для получения IEnumerator. Цикл Foreach используется для генерации кода, использующего Enumerator. Перечислитель отличается от IEnumerator, поскольку IEnumerator является интерфейсом. Перечислитель реализует это.

IEnumerable против IEnumerator

Разница между IEnumerable и IEnumerator заключается в том, что IEnumerable работает для универсального интерфейса, а IEnumerator работает для всех неуниверсальных интерфейсов. IEnumerable указывает на объект, который можно перечислить, но IEnumerator реализован с использованием каждого оператора для итерации. Интерфейс IEnumerable использует IEnumerator для итерации всех его элементов, используя для каждого оператора.

IEnumerable используется для поиска объекта, который используется в качестве интерфейса. Он используется для перебора всех элементов коллекции. Процесс итерации упрощает перемещение по коллекции. Он действует как объект. GetEnumerator - это метод, который используется для реализации интерфейса IEnumerator.

IEnumerator имеет два метода, Reset () и MoveNext (), и имеет расширенное свойство, известное как Current. MoveNext () - это метод, который создает логическое значение, указывающее на конечный элемент списка. Метод сброса делает перечислитель его положением по умолчанию.

Таблица сравнения IEnumerable и IEnumerator

Параметры сравнения

IEnumerable

IEnumerator

Тип интерфейса Универсальный Не общий
Количество методов Один Два
Возврат IEnumerator Никто
Состояние курсора Не может сохранить Может сохранить
Продукт Нумерованный объект По каждому результату выписки
Способ письма Абстрактный Конкретный

Что такое IEnumerable?

Это интерфейс, который реализуется перечислимым классом. Вся коллекция в C # может реализовывать интерфейс IEnumerable. Он возвращает IEnumerator. Он не меняется в соответствии со спецификаторами доступа, используемыми в коде. IEnumerable имеет метод, известный как GetEnumerator. Эта реализация выполняется только внутри класса.

Процесс итерации упрощает перемещение по коллекции. Он действует как объект. GetEnumerator - это метод, который используется для реализации интерфейса IEnumerator. IEnumerable часто называют универсальным интерфейсом, поскольку код написан очень маленьким, потому что для него требуется только одноразовая реализация. Не имеет значения, сколько конструкторов используется в реализации кода для итерации всех элементов.

Код не требует особого обслуживания, поскольку модификация кода выполняется на одной платформе и не требует дополнительных изменений. Он использует абстракцию для итерации всех элементов в массиве. Он использует итератор IEnumerator, который используется для итерации всех элементов. Поскольку это общий класс, он легко выполняет итерацию элементов в массиве. Он предоставляет общий интерфейс. Он используется во всех неуниверсальных классах.

Что такое IEnumerator?

У него есть два метода для реализации итерации всех элементов в коллекции. У него есть два метода: MoveNext и Reset. MoveNext - это метод, который указывает, что итерация не достигла последнего элемента коллекции.

Метод сброса делает то же самое, что и звучит. Он указывает на повторный запуск итерации после выполнения предыдущей итерации до последнего элемента массива. Наконец, единственный объект - это Current, который дает текущий элемент в результате итерации. У него есть определенный доступ к своим элементам. Он предоставляет доступ только для чтения ко всему своему массиву.

IEnumerator вызывает текущее свойство, которое отвечает за возврат элемента в списке, который используется в данный момент. Он использует два метода и свойство для итерации объекта. Каждый оператор использует список массивов и начинает итерацию, двигаясь вперед и используя один из методов. IEnumerator не может вернуть IEnumerable.

Он может легко вернуть текущее состояние курсора. IEnumerator использует конкретный способ записи. Он начинает итерацию в стеке с итерации первого элемента стека и заканчивается на последнем элементе стека.

Основные различия между IEnumerable и IEnumerator

Выводы

IEnumerable - это интерфейс, который реализуется перечислимым классом. Он использует абстракцию для итерации всех элементов в массиве. Он использует итератор IEnumerator, который используется для итерации всех элементов. IEnumerator вызывает текущее свойство, которое отвечает за возврат элемента в списке, который используется в данный момент.

Он использует два метода и свойство для итерации объекта. IEnumerable часто называют универсальным интерфейсом, поскольку код написан очень компактно. IEnumerator использует конкретный способ записи. GetEnumerator - это метод, который используется для реализации интерфейса IEnumerator.

Процесс итерации упрощает переход по коллекции в IEnumerable. Он действует как объект. MoveNext - это метод, который создает логическое значение, указывающее на конечный элемент списка. IEnumerable возвращает интерфейс IEnumerator, когда он проходит процесс итерации.

Оба они используются для итерационного процесса, который следует разными способами итерации. Он использует итератор для перебора всех элементов в массиве стека. Они отличаются друг от друга, поскольку в одном используется абстракция, а в другом - конкретные коды. У него есть разные методы и свойства, чтобы вернуть состояние курсора и поддерживать итерацию стека.

Разница между IEnumerable и IEnumerator (с таблицей)