Esercizi C#

Classificare i dati con il pattern matching in C#

In questa lezione classificherai valori di vari tipi con pattern di tipo, di confronto e di proprietà.

Introduzione

Con il pattern matching combini il controllo del tipo, il controllo del valore e l'estrazione dei dati in una stessa espressione. Questo esercizio crea una funzione di classificazione che riceve qualsiasi valore e restituisce la descrizione adatta.

Il pattern int and >= 18 corrisponde agli interi da 18 in su. Il pattern string { Length: 0 } corrisponde alla stringa vuota, dopo aver verificato che il valore sia davvero una stringa. Il pattern string text corrisponde a tutte le altre stringhe e mette il valore nella variabile text. Dato che "CSharp" ha 6 caratteri, il risultato è text(6).

Esempio C# eseguibile

C#
Esegui il codice →
Program.cs
using System;
class Program
{
    static string Classify(object? value) => value switch
    {
        int and >= 18 => "adult age", string { Length: 0 } => "empty text",
        string text => $"text({text.Length})", null => "null", _ => "other"
    };
    static void Main() => Console.WriteLine(Classify("CSharp"));
}
Risultato dell'esecuzione
text(6)

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