Argomenti C# importanti

Il pattern matching in C#

In questa lezione userai un'espressione switch con i pattern per controllare tipo e valore dei dati in modo ordinato e sicuro.

Introduzione

Il pattern matching permette di verificare di che tipo è un valore, se soddisfa una condizione e di estrarne subito i dati da usare, tutto in una sola espressione. Sostituisce il controllo del tipo seguito dalla conversione manuale, lungo e facile da sbagliare.

L'espressione switch della funzione Describe controlla i pattern nell'ordine: null per i dati mancanti, int number when number > 0 per gli interi positivi, string { Length: > 0 } per le stringhe non vuote e _ per tutti gli altri casi. Con il valore 12 corrisponde il pattern dell'intero positivo e il risultato è positive 12.

Guarda come funziona

Sposta il cursore per cambiare il giorno. Il programma salta direttamente al case corrispondente, o al default se nessuno corrisponde.

Esempio C# eseguibile

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

class Program
{
    static string Describe(object? value) => value switch
    {
        null => "missing",
        int number when number > 0 => $"positive {number}",
        string { Length: > 0 } text => $"text: {text}",
        _ => "other"
    };

    static void Main() => Console.WriteLine(Describe(12));
}
Risultato dell'esecuzione
positive 12

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