Sujets C# importants

Le filtrage par motif (pattern matching) en C#

Dans cette leçon, vous allez utiliser une expression switch avec des motifs pour vérifier proprement et sûrement le type et la valeur des données.

Introduction

Le filtrage par motif (pattern matching) permet de vérifier le type d'une valeur, de tester une condition et d'en extraire les données pour les utiliser aussitôt, le tout dans une seule expression. Il remplace la vérification de type suivie d'une conversion manuelle, longue et source d'erreurs.

L'expression switch de la fonction Describe teste les motifs dans l'ordre : null pour les données absentes, int number when number > 0 pour les entiers positifs, string { Length: > 0 } pour les chaînes non vides et _ pour tous les autres cas. Avec la valeur 12, c'est le motif de l'entier positif qui correspond, et le résultat est positive 12.

Voir comment ça marche

Déplacez le curseur pour changer le jour. Le programme saute directement au case correspondant, ou au default si rien ne correspond.

Exemple C# exécutable

C#
Exécuter le code →
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));
}
Résultat de l’exécution
positive 12

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis