Sobes.tech
Junior — Middle

Jak można określić dział z najwyższą średnią pensją w tabeli pracowników?

sobes.tech AI

Odpowiedź od AI

Aby określić dział z najwyższą średnią pensją w tabeli pracowników w C#, można użyć LINQ do grupowania pracowników według działów, obliczania średniej pensji i wybrania działu z najwyższą wartością.

Przykład:

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($"Dział z najwyższą średnią pensją: {maxAvgSalaryDept.Department}, średnia pensja: {maxAvgSalaryDept.AvgSalary}");
}

Tutaj employees to kolekcja obiektów z polami Department i Salary. Kod grupuje pracowników według działów, oblicza średnią pensję w każdym dziale, sortuje malejąco i wybiera pierwszy (z najwyższą średnią pensją).