Чем ValueTask отличается от Task?

Task — ссылочный объект завершения операции. ValueTask — структура, способная представить готовый результат либо асинхронный источник и сократить выделения при частом синхронном завершении.

Короткий ответ

Что ответить на собеседовании

Task — ссылочный объект завершения операции. ValueTask — структура, способная представить готовый результат либо асинхронный источник и сократить выделения при частом синхронном завершении.

Подробный разбор

Ответ с пояснениями

Task — ссылочный объект завершения операции. ValueTask — структура, способная представить готовый результат либо асинхронный источник и сократить выделения при частом синхронном завершении.

ValueTask не является автоматически более быстрым: он крупнее ссылки и усложняет контракт потребления. По умолчанию удобнее Task; ValueTask выбирают после измерений для горячих API.

Полученный ValueTask следует ожидать один раз и не использовать конкурентно, если конкретный контракт не гарантирует иное. Для многократного ожидания или API, требующего Task, можно один раз получить AsTask и далее использовать этот Task.

Источник: learn.microsoft.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее