C#-Übungen

Schüler mit LINQ gruppieren in C#

In dieser Lektion gruppierst du Schüler mit LINQ nach ihrer Note und berechnest den Durchschnitt jeder Gruppe.

Einführung

Die LINQ-Methode GroupBy teilt eine Liste anhand eines Schlüssels in Gruppen, etwa nach der Note A oder B. Danach kannst du für jede Gruppe eigene Berechnungen durchführen, zum Beispiel zählen, summieren oder den Durchschnitt bilden.

GroupBy(s => s.Grade) teilt die Schüler in die Gruppen A und B, und OrderBy(g => g.Key) sortiert die Gruppen nach ihrem Namen. Jede Gruppe hat die Eigenschaft Key mit der Note und kann LINQ-Methoden wie Average direkt verwenden. Gruppe A hat einen Durchschnitt von 93.0, Gruppe B von 84.0.

Ausführbares C#-Beispiel

C#
Code ausführen →
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}");
    }
}
Ergebnis der Ausführung
A: 93.0
B: 84.0

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges