Middle+
Il faut afficher la liste des employés percevant le salaire maximum dans leur département.
sobes.tech IA
Réponse de l'IA
Pour obtenir une liste d'employés recevant le salaire maximum dans leur département, vous pouvez utiliser LINQ avec regroupement par départements et sélection des employés avec le salaire le plus élevé dans chaque groupe.
Exemple en 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} from {emp.Department} department with salary {emp.Salary}");
}
Ce code regroupe les employés par départements, trouve le salaire maximum dans chaque groupe et sélectionne tous les employés avec ce salaire.