Sobes.tech
Middle+

Es ist erforderlich, die Mitarbeiter aufzulisten, die das höchste Gehalt in ihrer Abteilung erhalten.

sobes.tech KI

Antwort von AI

Um Mitarbeiter mit dem höchsten Gehalt in ihrer Abteilung aufzulisten, kann LINQ mit Gruppierung nach Abteilungen und Auswahl der Mitarbeiter mit dem höchsten Gehalt in jeder Gruppe verwendet werden.

Beispiel 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} aus der Abteilung {emp.Department} mit Gehalt {emp.Salary}");
}

Dieser Code gruppiert Mitarbeiter nach Abteilungen, findet das maximale Gehalt in jeder Gruppe und wählt alle Mitarbeiter mit diesem Gehalt aus.