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

Что такое await

await в C# используется для ожидания завершения асинхронной операции без блокировки потока. Применяется перед вызовом метода, возвращающего Task или Task<T>. Компилятор преобразует код в состояние машины, позволяя потоку продолжить работу, пока операция выполняется.

Пример:

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

Нюансы:

  • Метод с await должен быть помечен как async.
  • await можно использовать только в методах, возвращающих Task, Task<T>, ValueTask или ValueTask<T>.
  • Исключения из асинхронных методов попадают в агрегированное состояние Task и выбрасываются при await.
  • Не используйте await в цикле без необходимости — это может снизить производительность.

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

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

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