Для чего нужен интерфейс IEnumerable?

Что такое и зачем нужен интерфейс IEnumerable?

https://www.youtube.com/watch?v=B74jCYZebvg - Вот на этом видео очень красиво описали интерфейс IEnumerable и зачем он нужен, так что если интересно - очень рекоммендую к просмотру.

Вообще интерфейс IEnumerable представляет собой реализацию перечислителя. Конструкция foreach доступна нам благодаря этому интерфейсу (и в частности единственному методу, который в этом интерфейсе хранится - GetEnumerator(), который позволяет индексировать коллекцию).

https://professorweb.ru/my/csharp/charp_theory/level12/12_19.php - вот здесь ещё можете почитать, если интересно