Esercizi C#

Fare il debug di un filtro LINQ in C#

In questa lezione userai un breakpoint per osservare come LINQ controlla ogni elemento e correggerai una condizione di filtro sbagliata.

Introduzione

Quando una query LINQ non dà il risultato atteso, puoi mettere un punto di interruzione (breakpoint) dentro la funzione di condizione per osservare ogni valore controllato. Questo esercizio mostra un errore molto comune: confondere > e >= sul valore limite.

La sufficienza si ottiene da 70 in su, cioè compreso il 70, quindi la funzione IsPassing deve usare >= invece di >. Se scrivi score > 70, il voto 70 viene escluso per errore. Con la condizione corretta il risultato è 70, 71. Metti un breakpoint in IsPassing ed esegui in modalità debug per vedere LINQ chiamare questa funzione per ogni voto.

Esempio C# eseguibile

C#
Esegui il codice →
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));
    }
}
Risultato dell'esecuzione
70, 71

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide