Sobes.tech
Junior — Middle

როგორ შეიძლება განსაზღვროთ თანამშრომელთა სიის სვეტში ყველაზე მაღალი საშუალო ხელფასი მქონე განყოფილება?

sobes.tech AI

პასუხი AI-სგან

C#-да աշխատողների աղյուսակում ամենաբարձր միջին աշխատավարձ ունեցող բաժինը որոշելու համար կարող եք օգտագործել LINQ՝ աշխատողներին բաժինների ըստ խմբավորելու, միջին աշխատավարձը հաշվարկելու և ամենաբարձր արժեքով բաժինը ընտրելու համար:

Օրինակ՝

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($"Ամենաբարձր միջին աշխատավարձով բաժին՝ {maxAvgSalaryDept.Department}, միջին աշխատավարձ՝ {maxAvgSalaryDept.AvgSalary}");
}

Այստեղ՝ employees-ը օբյեկտների հավաքածու է, որոնց մեջ կա Department և Salary դաշտեր։ Կոդը խմբավորում է աշխատակիցներին բաժինների ըստ, հաշվարկում է միջին աշխատավարձը յուրաքանչյուր բաժնում, դասավորում է նվազման կարգով և ընտրում առաջինը (ամենաբարձր միջին աշխատավարձով)։