Получить максимальный объект по свойству - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д