Middle+
Nepieciešams uzskaitīt darbiniekus, kuri saņem maksimālo algu savā nodaļā.
sobes.tech AI
Atbilde no AI
Lai sarakstu ar darbiniekiem, kas saņem maksimālo algu savā nodaļā, var izmantot LINQ ar grupēšanu pēc nodaļām un darbinieku izvēli ar maksimālo algu katrā grupā.
Piemērs 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} no {emp.Department} noda, ar {emp.Salary} atlyginimas");
}
Šis kodas grupuoja darbuotojus pagal nodaļas, atranda maksimālo algu katrā grupā un izvēlas visus darbiniekus ar šo algu.