Middle+
Պահանջվում է ցուցադրել աշխատակիցների ցանկը, ովքեր իրենց բաժնում ստանում են առավելագույն աշխատավարձը։
sobes.tech AI
Պատասխան AI-ից
Ինքնուրույն ցուցակ կազմելու համար, որոնք ստանում են իրենց բաժնում առավելագույն աշխատավարձը, կարող եք օգտագործել LINQ՝ բաժինների խմբավորմամբ և յուրաքանչյուր խմբում առավելագույն աշխատավարձ ստացող աշխատակիցների ընտրությամբ:
C# օրինակով՝
class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public string Department { get; set; }
public decimal Salary { get; set; }
}
var employees = new List<Employee>
{
new Employee { Id = 1, Name = "Ivan", Department = "IT", Salary = 100000 },
new Employee { Id = 2, Name = "Maria", Department = "IT", Salary = 120000 },
new Employee { Id = 3, Name = "Peter", Department = "HR", Salary = 90000 },
new Employee { Id = 4, Name = "Olga", Department = "HR", Salary = 90000 },
};
var topEarners = employees
.GroupBy(e => e.Department)
.SelectMany(g =>
{
var maxSalary = g.Max(e => e.Salary);
return g.Where(e => e.Salary == maxSalary);
});
foreach (var emp in topEarners)
{
Console.WriteLine($"{emp.Name} {emp.Department} բաժնից, աշխատավարձը {emp.Salary}");
}
Այս կոդը խմբավորում է աշխատակիցներին ըստ բաժինների, գտնում է յուրաքանչյուր խմբում առավելագույն աշխատավարձը և ընտրում բոլոր այն աշխատակիցներին, որոնց աշխատավարձը այդքան է։