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).