Middle
Wie funktionieren die Schlüsselwörter async und await in C#?
sobes.tech KI
Antwort von AI
async kennzeichnet die Methode als asynchron, was die Verwendung von await ermöglicht. Dies macht die Methode selbst nicht asynchron, aber es erlaubt dem Compiler, eine Endlosschleife zu generieren, die die Ausführung steuert.
await wird vor einem Ausdruck verwendet, der Task oder Task<T> zurückgibt. Es pausiert die Ausführung der aktuellen async-Methode, bis die erwartete Aufgabe abgeschlossen ist, ohne den Ausführungsthread zu blockieren. Nach Abschluss der Aufgabe setzt die Methode die Ausführung nach await fort. Wenn die Aufgabe ein Ergebnis (Task<T>) zurückgibt, gibt await dieses Ergebnis zurück.
public async Task<int> GetDataAsync()
{
// Asynchrone Operation
HttpClient client = new HttpClient();
string result = await client.GetStringAsync("http://example.com");
// Die Ausführung setzt nach Abschluss von GetStringAsync fort
// Ergebnisverarbeitung
return result.Length;
}