Сортировка классов по одному из полей - C#

Узнай цену своей работы

Формулировка задачи:

есть List<Employee> у работника есть фамилия и имя. Нужно выполнить сортировку по фамилии и, если фамилии совпадают, то по имени еще. employees.Sort((x, y) => string.Compare(x.SurName, y.SurName)); - подходила бы, если не нужно было делать на проверку совпадения фамилий. на java это делалось с помощью компаратора:
Листинг программы
  1. public Comparator<Employee> abc = new Comparator<Employee>() {
  2. public int compare(Employee r1, Employee r2) {
  3. int compare = r1.getSurname().compareTo(r2.getSurname());
  4. if (compare != 0) {
  5. return compare;
  6. }
  7. return r1.getName().compareTo(r2.getName());
  8. }
  9. };
подскажите что-нить эквивалентное этому

Решение задачи: «Сортировка классов по одному из полей»

textual
Листинг программы
  1.             var employees = new List<Employee>
  2.                                 {
  3.                                     new Employee {Name = "John", SurName = "Smith"},
  4.                                     new Employee {Name = "Adam", SurName = "Smith"},
  5.                                     new Employee {Name = "Adam", SurName = "Backer"}
  6.                                 };
  7.  
  8.             employees.Sort((e1, e2)=>
  9.                                {
  10.                                    var res = e1.SurName.CompareTo(e2.SurName);
  11.                                    if (res == 0)
  12.                                        res = e1.Name.CompareTo(e2.Name);
  13.                                    return res;
  14.                                });
  15.  
  16. ...
  17.  
  18.         class Employee
  19.         {
  20.             public string Name { get; set; }
  21.             public string SurName { get; set; }
  22.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.7 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы