Вопросы к Поиску с Алисой
IEnumerator и IEnumerable в C# отличаются по назначению и функциональности. stackoverflow.com
IEnumerator — интерфейс, который определяет базовый низкоуровневый протокол для прохода по элементам (перечисления) последовательности в однонаправленной манере. devkazakov.com Он поддерживает простую итерацию по необобщённой коллекции. referbruv.com У IEnumerator есть методы MoveNext и Reset, а также свойство Current, которое указывает на текущий элемент, затрагиваемый во время итерации. referbruv.com
IEnumerable — интерфейс, который представляет коллекцию элементов, по которым можно выполнять итерацию. referbruv.com Он не содержит других методов или свойств, кроме одного метода GetEnumerator, который возвращает объект IEnumerator. referbruv.com С помощью IEnumerable можно работать только с коллекцией объектов, хранящихся в памяти. referbruv.com
Таким образом, IEnumerator отвечает на вопрос, как перечислять элементы, а IEnumerable — на вопрос, можно ли перечислять элементы. stackoverflow.com