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

Асинхронный итератор в C#

Метод с модификатором async и оператором yield return строит асинхронную последовательность. Между элементами в нём можно подождать таймер, диск или сеть.

Потребитель получает элемент только когда до него дошёл генератор. Следующий элемент в этот момент может быть ещё не готов.

Генератор отдаёт две строки, между ними короткая пауза. Цикл запрашивает их по одной:

static async IAsyncEnumerable<string> WordsAsync() { yield return "a"; await Task.Delay(1); yield return "b"; } await foreach (string w in WordsAsync()) { Console.WriteLine(w); // выведет "a", "b" }

Отдайте из генератора числа 5, 10 и 15 с короткой паузой между ними и выведите их сумму.

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