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

Оператор yield return в C#

Каждый yield return отдаёт один элемент и ставит метод на паузу до следующего MoveNext. Локальные переменные между шагами сохраняются: цикл продолжается с того же места, а не с начала метода.

Если метод отдаёт элементы через yield return, обычный return со значением в нём писать нельзя. Метод уже не возвращает готовую коллекцию, а выдаёт элементы по шагам.

Выведем чётные числа от 0 до max включительно, по одному на итерацию foreach. При max -1 цикл не выполнится ни разу:

static IEnumerable<int> Evens(int max) { for (int i = 0; i <= max; i += 2) yield return i; } foreach (int v in Evens(6)) Console.WriteLine(v); // выведет 0, 2, 4, 6

Сгенерируйте названия "north", "east" и "south" по одному и выведите их в одну строку.

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