Получить максимальный объект по свойству - C#
Формулировка задачи:
Допустим есть такой код:
он вернет int год рождения, НО как использовать Max чтобы по максимальному году он возвращал сам объект
using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class Employee { public int birthYear; public string firstName; public string lastName; public static Employee[] GetEmployees() { Employee[] actors = new Employee[] { new Employee { birthYear = 1964, firstName = "K", lastName = "R" }, new Employee { birthYear = 1968, firstName = "O", lastName = "W" }, new Employee { birthYear = 1960, firstName = "J", lastName = "S" }, new Employee { birthYear = 1964, firstName = "S", lastName = "B" }, }; return (actors); } } public class MainClass { public static void Main() { int youngestEmployeeAge = Employee.GetEmployees().Max(a => a.birthYear); Console.WriteLine(youngestEmployeeAge); } }
Employee
? Логически именно так и должен был работать метод Max из коробки((Решение задачи: «Получить максимальный объект по свойству»
textual
Листинг программы
public class Employee : IComparable<Employee> { public int birthYear; public string firstName; public string lastName; public static Employee[] GetEmployees() { Employee[] actors = new Employee[] { new Employee { birthYear = 1964, firstName = "K", lastName = "R" }, new Employee { birthYear = 1968, firstName = "O", lastName = "W" }, new Employee { birthYear = 1960, firstName = "J", lastName = "S" }, new Employee { birthYear = 1964, firstName = "S", lastName = "B" }, }; return (actors); } public int CompareTo(Employee other) { return birthYear.CompareTo(other.birthYear); } } Employee youngestEmployeeAge = Employee.GetEmployees().Max(); Console.WriteLine(youngestEmployeeAge.birthYear);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д