Argomenti C# importanti

Programmazione asincrona con async e await in C#

In questa lezione scriverai codice asincrono con async e await per attendere un'operazione senza bloccare il programma.

Introduzione

Quando il programma deve attendere operazioni lente, come leggere un file, chiamare un'API o aspettare un timer, la programmazione asincrona (asynchronous) evita che il thread resti bloccato durante l'attesa. C# offre le parole chiave async e await per scrivere codice asincrono leggibile come il normale codice sequenziale.

Il metodo Main è dichiarato static async Task. L'istruzione await Task.Delay(20) mette in pausa il metodo per 20 millisecondi senza bloccare il thread in esecuzione. Quando l'attesa finisce, il metodo riprende esattamente da quel punto e stampa Async work complete.

Esempio C# eseguibile

C#
Esegui il codice →
Program.cs
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        await Task.Delay(20);
        Console.WriteLine("Async work complete");
    }
}
Risultato dell'esecuzione
Async work complete

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide