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

ValueTask

ValueTask и ValueTask<int> - структуры для асинхронного результата. Готовое число можно обернуть в new ValueTask<int> или ValueTask.FromResult. Один ValueTask нельзя await дважды.

Синтаксис

ValueTask<int> vt = ValueTask.FromResult(12345);

Пример

Давайте дождём готовое значение через FromResult:

using System; using System.Threading.Tasks; class Program { static async Task Main() { var vt = ValueTask.FromResult(12345); int res = await vt; Console.WriteLine(res); } }

Результат выполнения кода:

12345

Пример

Давайте создадим new ValueTask<int> и проверим IsCompleted:

using System; using System.Threading.Tasks; class Program { static async Task Main() { var vt = new ValueTask<int>(12345); Console.WriteLine(vt.IsCompleted); int res = await vt; Console.WriteLine(res); } }

Результат выполнения кода:

True 12345

Смотрите также

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