Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpGvIEn 65 of 509 menu
◀ ▶

Интерфейс IEnumerable в C#

Интерфейс IEnumerable <T> - контракт «можно перебрать»: единственный член GetEnumerator возвращает IEnumerator<T> для пошагового чтения.

Массивы, списки, результаты LINQ и генераторы yield реализуют этот интерфейс. Код, принимающий IEnumerable<T>, не зависит от конкретного хранилища.

Переберём массив через foreach. Цикл видит только интерфейс: ему нужен перечислитель, а не знание, что внутри массив. Каждый новый foreach берёт свой перечислитель, поэтому повторный обход nums снова отдаёт те же значения:

IEnumerable<int> nums = new[] { 2, 4, 6 }; foreach (int n in nums) { Console.WriteLine(n); // выведет 2, 4, 6 }

Напишите метод, который принимает IEnumerable<string>. Передайте ему метки "core" и "edge" и выведите, сколько элементов он перебрал.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить