Async und Await: Mit asynchronem Code arbeiten
Beherrschen Sie asynchrone Programmierung, um reaktionsfähige Anwendungen zu erstellen
Async und Await: Mit asynchronem Code arbeiten ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 5. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 5 Lektionen.
Einführung in Async und Await
Async und Await: Arbeiten mit asynchronem Code
Willkommen in der nächsten Lektion! In dieser Lektion lernen Sie, wie Sie async und await in C# verwenden, um asynchronen Code zu schreiben, der die Reaktionsfähigkeit und Leistung von Anwendungen verbessert. Beginnen wir!

Was ist asynchrone Programmierung?
Was ist asynchrone Programmierung?
Asynchrone Programmierung ermöglicht es, dass Aufgaben unabhängig voneinander ausgeführt werden, ohne den Hauptthread zu blockieren. Das ist besonders nützlich für Aufgaben wie das Lesen von Dateien, das Abrufen von Daten aus dem Internet oder die Interaktion mit Datenbanken.
Wichtiger Punkt: Asynchroner Code verbessert die Reaktionsfähigkeit von Anwendungen, insbesondere bei Benutzeroberflächen- und Serveranwendungen.
Async und Await verstehen
Async und Await verstehen
Async und await sind Schlüsselwörter in C#, die die asynchrone Programmierung vereinfachen:
- async: Kennzeichnet eine Methode als asynchron.
- await: Hält die Ausführung der Methode an, bis der erwartete Task abgeschlossen ist.
Wichtiger Punkt: Asynchrone Methoden geben immer einen Task oder Task<T> zurück.
Eine asynchrone Methode erstellen
Eine asynchrone Methode erstellen
Erstellen wir eine asynchrone Methode, um eine lang laufende Aufgabe zu simulieren. Beispiel:
Tipp: Verwenden Sie Task.Delay(), um Verzögerungen in asynchronen Vorgängen zu simulieren.
using System;
using System.Threading.Tasks;
class Program {
static async Task Main() {
Console.WriteLine("Starting task...");
await PerformTask();
Console.WriteLine("Task completed!");
}
static async Task PerformTask() {
await Task.Delay(3000); // Simulates a 3-second delay
Console.WriteLine("Task is running...");
}
}
Einen Wert aus einer asynchronen Methode zurückgeben
Einen Wert aus einer asynchronen Methode zurückgeben
Asynchrone Methoden können mithilfe von Task<T> Werte zurückgeben. Beispiel:
using System;
using System.Threading.Tasks;
class Program {
static async Task Main() {
int result = await CalculateSumAsync(10, 20);
Console.WriteLine("Result: " + result);
}
static async Task<int> CalculateSumAsync(int a, int b) {
await Task.Delay(1000); // Simulates a delay
return a + b;
}
}
Ausnahmen in asynchronem Code behandeln
Ausnahmen in asynchronem Code behandeln
Verwenden Sie try-catch, um Ausnahmen in asynchronen Methoden zu behandeln. Beispiel:
using System;
using System.Threading.Tasks;
class Program {
static async Task Main() {
try {
await DivideAsync(10, 0);
} catch (Exception ex) {
Console.WriteLine("Error: " + ex.Message);
}
}
static async Task DivideAsync(int a, int b) {
await Task.Delay(1000);
if (b == 0) throw new DivideByZeroException("Cannot divide by zero.");
Console.WriteLine("Result: " + (a / b));
}
}
Praxisaufgabe
Praxisaufgabe
Erstellen Sie eine asynchrone Methode, die Daten von einer URL abruft und deren Inhalt anzeigt. Beispiel:
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
string url = "https://jsonplaceholder.typicode.com/todos/1";
string data = await FetchDataAsync(url);
Console.WriteLine("Data: " + data);
}
static async Task<string> FetchDataAsync(string url) {
using HttpClient client = new HttpClient();
return await client.GetStringAsync(url);
}
}
Bewährte Vorgehensweisen für die asynchrone Programmierung
Bewährte Vorgehensweisen für die asynchrone Programmierung
Hier sind einige bewährte Vorgehensweisen:
- Verwenden Sie
asyncundawaitfür Aufgaben, die E/A-Operationen oder lang laufende Berechnungen umfassen. - Vermeiden Sie, asynchronen Code mit
.Resultoder.Wait()zu blockieren. - Behandeln Sie Ausnahmen, um nicht behandelte Fehler zu verhindern.
- Verwenden Sie
ConfigureAwait(false)in Bibliothekscode, um Deadlocks zu vermeiden.
Tipp: Halten Sie Ihre asynchronen Methoden kurz und konzentrieren Sie sie auf eine einzige Aufgabe.
Sehr gut!
Sehr gut!
Herzlichen Glückwunsch! Sie haben gelernt, wie Sie async und await verwenden, um asynchronen Code in C# zu schreiben. In der nächsten Lektion beschäftigen wir uns mit Threading und Tasks für die parallele Programmierung. Programmieren wir weiter!
Klicken Sie auf Weiter, um zur nächsten Lektion zu gelangen.

Häufig gestellte Fragen
Ist die Lektion „Async und Await: Mit asynchronem Code arbeiten“ kostenlos?
Ja — der vollständige Text von „Async und Await: Mit asynchronem Code arbeiten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 5 Lektionen.
Was lerne ich in „Async und Await: Mit asynchronem Code arbeiten“?
Beherrschen Sie asynchrone Programmierung, um reaktionsfähige Anwendungen zu erstellen Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C# Academy zu starten?
Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 5.
Wie lange dauert die Lektion „Async und Await: Mit asynchronem Code arbeiten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?
Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Generics in C#
- Async und Await: Mit asynchronem Code arbeiten
- Threading und Tasks verstehen
- Delegates und Lambdas erkunden
- Reflection in C# verstehen