Sobes.tech
Junior — Middle

Hogyan lehet meghatározni a legmagasabb átlagfizetéssel rendelkező osztályt az alkalmazottak táblázatában?

sobes.tech MI

Válasz az MI-től

Annak meghatározásához, hogy melyik osztálynak van a legmagasabb átlagbére a C#-ban lévő alkalmazottak táblájában, használhat LINQ-t az alkalmazottak osztályok szerinti csoportosítására, az átlagbér kiszámítására és a legmagasabb értékű osztály kiválasztására.

Példa:

var maxAvgSalaryDept = employees
    .GroupBy(e => e.Department)
    .Select(g => new { Department = g.Key, AvgSalary = g.Average(e => e.Salary) })
    .OrderByDescending(d => d.AvgSalary)
    .FirstOrDefault();

if (maxAvgSalaryDept != null)
{
    Console.WriteLine($"Oszztály a legmagasabb átlagbérrel: {maxAvgSalaryDept.Department}, átlagbér: {maxAvgSalaryDept.AvgSalary}");
}

Itt az employees egy olyan objektumgyűjtemény, amely tartalmazza a Department és Salary mezőket. A kód az alkalmazottakat osztályok szerint csoportosítja, kiszámítja az átlagbért minden osztályban, csökkenő sorrendbe rendezi, és kiválasztja az elsőt (a legmagasabb átlagbérrel rendelkező osztályt).