Middle
Как работи ключовата дума async и операторът await в C#?
sobes.tech AI
Отговор от AI
async маркира метода като асинхронен, което позволява използването на await вътре в него. Това не прави самия метод асинхронен, но позволява на компилатора да генерира автомат за състояния, който ще управлява изпълнението.
await се използва преди израз, който връща Task или Task<T>. Той спира изпълнението на текущия async метод, докато очакваната задача не приключи, без да блокира изпълнителния поток. След като задачата приключи, изпълнението на метода продължава от мястото след await. Ако задачата връща резултат (Task<T>), await връща този резултат.
public async Task<int> GetDataAsync()
{
// Асинхронна операция
HttpClient client = new HttpClient();
string result = await client.GetStringAsync("http://example.com");
// Продължава след като GetStringAsync приключи
// Обработка на резултата
return result.Length;
}