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

ReadAllAsync в C#

Метод ReadAllAsync даёт асинхронное перечисление канала. Цикл await foreach идёт, пока писатель не закроет канал и буфер не опустеет.

Без закрытия канала цикл не закончится: он будет ждать следующий элемент.

Запишем 1 и 2, закроем канал и прочитаем все элементы. В консоли две строки, 1 и 2, в порядке записи:

using System.Threading.Channels; Channel<int> ch = Channel.CreateUnbounded<int>(); await ch.Writer.WriteAsync(1); await ch.Writer.WriteAsync(2); ch.Writer.Complete(); await foreach (int v in ch.Reader.ReadAllAsync()) { Console.WriteLine(v); // выведет 1, 2 }

Запишите в канал числа 8 и 5, закройте запись и прочитайте все элементы. Выведите их сумму.

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