Middle+
Het is nodig om de werknemers te tonen die het hoogste salaris in hun afdeling ontvangen.
sobes.tech AI
Antwoord van AI
Om een lijst te krijgen van werknemers die het hoogste salaris in hun afdeling ontvangen, kun je LINQ gebruiken met groepering op afdelingen en het selecteren van werknemers met het hoogste salaris in elke groep.
Voorbeeld in 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} uit afdeling {emp.Department} met salaris {emp.Salary}");
}
Deze code groepeert werknemers per afdeling, vindt het maximale salaris in elke groep en selecteert alle werknemers met dat salaris.