Task — ссылочный объект завершения операции. ValueTask — структура, способная представить готовый результат либо асинхронный источник и сократить выделения при частом синхронном завершении.
Чем ValueTask отличается от Task?
Task — ссылочный объект завершения операции. ValueTask — структура, способная представить готовый результат либо асинхронный источник и сократить выделения при частом синхронном завершении.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Task — ссылочный объект завершения операции. ValueTask — структура, способная представить готовый результат либо асинхронный источник и сократить выделения при частом синхронном завершении.
ValueTask не является автоматически более быстрым: он крупнее ссылки и усложняет контракт потребления. По умолчанию удобнее Task; ValueTask выбирают после измерений для горячих API.
Полученный ValueTask следует ожидать один раз и не использовать конкурентно, если конкретный контракт не гарантирует иное. Для многократного ожидания или API, требующего Task, можно один раз получить AsTask и далее использовать этот Task.
Источник: learn.microsoft.com.