Встречается на 12% собеседований по C#

Для чего нужен await

await используется для ожидания завершения асинхронной операции без блокировки основного потока. Он работает только внутри методов, помеченных как async, и позволяет писать асинхронный код в синхронном стиле, упрощая его чтение и поддержку.

Пример:

csharp
public async Task<string> FetchDataAsync()
{
    HttpClient client = new HttpClient();
    string result = await client.GetStringAsync("https://example.com");
    return result;
}

Ключевые моменты:

  1. Освобождает поток во время ожидания (например, IO-операций).
  2. Возвращает управление вызывающему коду, пока операция не завершится.
  3. Автоматически распаковывает результат Task<T> в T.
  4. Позволяет обрабатывать ошибки через try-catch.

Без await пришлось бы использовать продолжения (.ContinueWith) или блокировать поток (.Result), что хуже для производительности.

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы