Pattern matching
Débutant// Switch expression : plus concis qu'un switch classique
string Decrire(int note) => note switch
{
>= 16 => "Très bien",
>= 14 => "Bien",
>= 10 => "Passable",
_ => "Insuffisant",
};
// Property patterns : matcher sur la forme d'un objet
string Categoriser(Utilisateur u) => u switch
{
{ Age: < 18 } => "Mineur",
{ Age: >= 18 and < 65 } => "Adulte",
{ Age: >= 65 } => "Senior",
_ => "Inconnu",
};
// "is" avec pattern pour un cast + test sécurisé en une expression
object valeur = 42;
if (valeur is int n && n > 0)
{
Console.WriteLine($"Entier positif : {n}");
}