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
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));
}
}
70, 71S'entraîner avec le débogueur
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