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

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

Интерфейс IEnumerator<T> описывает пошаговый обход: MoveNext переводит на следующий элемент, а Current возвращает значение на текущей позиции.

Перечислитель берут у коллекции методом GetEnumerator и двигают циклом while. Каждый успешный MoveNext делает текущим следующий элемент, а Current отдаёт его. У списка из двух строк тело цикла выполнится дважды. Когда элементы кончились, MoveNext возвращает false и исключения нет. Вызов Dispose через using нужен перечислителям, которые держат внешний ресурс:

using System.Collections.Generic; var data = new List<string> { "one", "two" }; using IEnumerator<string> en = data.GetEnumerator(); while (en.MoveNext()) { Console.WriteLine(en.Current); // выведет "one", "two" }

Посчитайте сумму чисел 4, 5 и 6, читая их через перечислитель списка, и выведите сумму.

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