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 դաշտեր։ Կոդը խմբավորում է աշխատակիցներին բաժինների ըստ, հաշվարկում է միջին աշխատավարձը յուրաքանչյուր բաժնում, դասավորում է նվազման կարգով և ընտրում առաջինը (ամենաբարձր միջին աշխատավարձով)։