Esercizi C#

Raggruppare gli studenti con LINQ in C#

In questa lezione raggrupperai gli studenti in base al giudizio e calcolerai la media di ogni gruppo con LINQ.

Introduzione

Il metodo GroupBy di LINQ divide una lista in gruppi in base a una chiave, come il giudizio A o B. Poi puoi fare calcoli separati per ogni gruppo, come contare, sommare o fare la media.

GroupBy(s => s.Grade) divide gli studenti nei gruppi A e B, e OrderBy(g => g.Key) ordina i gruppi per nome. Ogni gruppo ha la proprietà Key con il giudizio e può usare direttamente metodi LINQ come Average. Il gruppo A ha una media di 93.0, il gruppo B di 84.0.

Esempio C# eseguibile

C#
Esegui il codice →
Program.cs
using System;
using System.Linq;
record Student(string Name, string Grade, int Score);
class Program
{
    static void Main()
    {
        var students = new[] { new Student("Ada", "A", 95), new Student("Lin", "B", 84), new Student("Grace", "A", 91) };
        foreach (var group in students.GroupBy(s => s.Grade).OrderBy(g => g.Key))
            Console.WriteLine($"{group.Key}: {group.Average(s => s.Score):F1}");
    }
}
Risultato dell'esecuzione
A: 93.0
B: 84.0

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