Comment et quand utiliser async et await en C# ? Expliquez avec des exemples
Bonjour à tous ! Je suis un développeur C# débutant et je n'arrive pas à comprendre async/await. J'ai lu la documentation, mais j'ai encore des questions.\n\nJ'ai une application WinForms qui charge des données depuis un serveur web. Quand j'appelle la méthode de chargement, l'interface se bloque pendant quelques secondes. Voici mon code actuel :\n\n```csharp\nprivate void Button_Click(object sender, EventArgs e)\n{\n var data = DownloadData("https://api.example.com/data");\n textBox1.Text = data;\n}\n\nprivate string DownloadData(string url)\n{\n using (var client = new WebClient())\n {\n return client.DownloadString(url);\n }\n}\n```\n\nJ'ai entendu dire que async/await résout le problème de blocage de l'interface utilisateur. Mais je ne comprends pas :\n\n1. Comment déclarer correctement une méthode asynchrone ? Faut-il toujours retourner Task ?\n2. Quand utiliser