Middle
Comment fonctionnent le mot-clé async et l'opérateur await en C#?
sobes.tech IA
Réponse de l'IA
async marque la méthode comme asynchrone, permettant d'utiliser await à l'intérieur. Cela ne rend pas la méthode elle-même asynchrone, mais permet au compilateur de générer une machine à états qui gérera l'exécution.
await est utilisé avant une expression qui retourne Task ou Task<T>. Il suspend l'exécution de la méthode async en cours jusqu'à ce que la tâche attendue soit terminée, sans bloquer le thread d'exécution. Après la fin de la tâche, l'exécution de la méthode reprend après await. Si la tâche retourne un résultat (Task<T>), await retourne ce résultat.
public async Task<int> GetDataAsync()
{
// Opération asynchrone
HttpClient client = new HttpClient();
string result = await client.GetStringAsync("http://example.com");
// L'exécution continue après la fin de GetStringAsync
// Traitement du résultat
return result.Length;
}