Найти в Дзене

🔷 C#: async/await

Асинхронные методы — не блокируют 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 не зависнет!

🔷 C#: async/await

Асинхронные методы — не блокируют 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 не зависнет!