Упражнения C#

Группировка студентов с LINQ в C#

В этом уроке вы сгруппируете студентов по оценке и вычислите средний балл каждой группы с помощью LINQ.

Введение

Метод GroupBy в LINQ делит список на группы по ключу, например по оценке A или B. Затем для каждой группы можно делать отдельные вычисления: считать количество, сумму или среднее.

GroupBy(s => s.Grade) распределяет студентов по группам A и B, а OrderBy(g => g.Key) сортирует группы по названию. У каждой группы есть свойство Key с оценкой, и к ней можно сразу применять методы LINQ, например Average. Средний балл группы A 93.0, группы B 84.0.

Пример на C#, который можно запустить

C#
Запустить код →
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}");
    }
}
Результат выполнения
A: 93.0
B: 84.0

Практика с отладчиком

Поставьте точку останова на важное присваивание или условие, нажмите Debug и посмотрите локальные значения, прежде чем перейти к следующей строке.

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи