Асинхронные методы — не блокируют UI: // Асинхронный метод async Task<string> GetDataAsync() { using var client = new HttpClient(); var result = await client.GetStringAsync(url); return result; } // Вызов var data = await GetDataAsync(); Console.WriteLine(data); ⚡ Параллельно несколько задач: var task1 = GetDataAsync(url1); var task2 = GetDataAsync(url2); var results = await Task.WhenAll(task1, task2); ⏳ Task: возвращает результат ⏸️ Task: возвращает void (события) 📌 Правила: • async метод = содержит await • await только в async методе • async void — только для событий! 💡 WinForms/WPF не зависнет!