Wichtige C#-Themen

Asynchrone Programmierung mit async und await in C#

In dieser Lektion schreibst du asynchronen Code mit async und await, um auf eine Aufgabe zu warten, ohne das Programm zu blockieren.

Einführung

Muss ein Programm auf zeitaufwendige Vorgänge warten, etwa auf das Lesen einer Datei, einen API-Aufruf oder einen Timer, sorgt asynchrone (asynchronous) Programmierung dafür, dass der Thread beim Warten nicht blockiert ist. C# bietet die Schlüsselwörter async und await, mit denen asynchroner Code so gut lesbar ist wie normaler, sequenzieller Code.

Die Methode Main ist als static async Task deklariert. Die Anweisung await Task.Delay(20) pausiert die Methode 20 Millisekunden lang, ohne den laufenden Thread zu blockieren. Ist das Warten vorbei, macht die Methode genau an dieser Stelle weiter und gibt Async work complete aus.

Ausführbares C#-Beispiel

C#
Code ausführen →
Program.cs
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        await Task.Delay(20);
        Console.WriteLine("Async work complete");
    }
}
Ergebnis der Ausführung
Async work complete

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges