Exercices C#

Classer des données avec le filtrage par motif en C#

Dans cette leçon, vous allez classer des valeurs de différents types avec des motifs de type, de comparaison et de propriété.

Introduction

Avec le filtrage par motif, vous combinez dans une même expression la vérification du type, le test de la valeur et l'extraction des données. Cet exercice construit une fonction de classement qui accepte n'importe quelle valeur et renvoie une description adaptée.

Le motif int and >= 18 correspond aux entiers supérieurs ou égaux à 18. Le motif string { Length: 0 } correspond à la chaîne vide, après avoir confirmé que la valeur est bien une chaîne. Le motif string text correspond à toutes les autres chaînes et place la valeur dans la variable text. Comme "CSharp" contient 6 caractères, le résultat est text(6).

Exemple C# exécutable

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

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