Exercices C#

Déboguer une condition de filtre LINQ en C#

Dans cette leçon, vous allez utiliser un point d'arrêt pour observer comment LINQ teste chaque élément, puis corriger une condition de filtre erronée.

Introduction

Quand une requête LINQ ne donne pas le résultat attendu, vous pouvez placer un point d'arrêt (breakpoint) dans la fonction de condition pour observer chaque valeur testée. Cet exercice montre une erreur très courante : confondre > et >= sur la valeur limite.

La réussite commence à 70, 70 compris, la fonction IsPassing doit donc utiliser >= et non >. Si vous écrivez score > 70, la note 70 est exclue par erreur. Avec la condition corrigée, le résultat est 70, 71. Placez un point d'arrêt dans IsPassing et lancez le mode débogage pour voir LINQ appeler cette fonction pour chaque note.

Exemple C# exécutable

C#
Exécuter le code →
Program.cs
using System;
using System.Linq;
class Program
{
    static bool IsPassing(int score) => score >= 70;
    static void Main()
    {
        int[] scores = { 69, 70, 71 };
        var passing = scores.Where(IsPassing);
        Console.WriteLine(string.Join(", ", passing));
    }
}
Résultat de l’exécution
70, 71

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