</>
Plan du cours — 12/46

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}");
}