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
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"));
}
text(6)Esercitati con il debugger
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.
- Triangle Classification Classify three side lengths as invalid, equilateral, isosceles, or scalene. Facile