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

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

Оператор yield break немедленно завершает iterator-метод - как return без значения внутри генератора. После него MoveNext вернёт false, новых элементов не будет.

Так останавливают генератор, не заводя отдельный флаг и не возвращая готовую коллекцию.

Сгенерируем числа 1, 2, 3 и остановимся, когда счётчик превысит limit. При limit 0 генератор сразу завершится через yield break на первой итерации:

static IEnumerable<int> Until(int limit) { for (int i = 1; ; i++) { if (i > limit) yield break; yield return i; } } Console.WriteLine(string.Join(", ", Until(3))); // выведет 1, 2, 3

Отдавайте числа 3, 1, -2 и 4 по одному, пока число неотрицательное. Выведите то, что успело попасть в последовательность.

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