CompareTo для нескольких элементов - C#
Формулировка задачи:
Добрый день.
Есть класс содержащий три поля реализующий интерфейс IComparable
Далее создаю экземпляр класс и вызываю метод Sort();
Происходит сортировка по полю a.
Подскажите как надо изменить метод CompareTo чтобы сортировка происходила сначала по полю a, если поля a одинаковые, то по полю b. Или надо писать отдельный метод для этого?
Пример:
Исходные данные:
a b c
3 8 6
2 5 3
3 5 1
Должно получиться так:
a b c
2 5 3
3 5 1
3 8 6
public class Table : IComparable<Table> { public double a{get; set;} public double b{get; set;} public double c{get; set;} public int CompareTo(Table obj) { return a.CompareTo(obj.a); } }
List<Table> tab = new List<Table>(); tab.Sort();
Решение задачи: «CompareTo для нескольких элементов»
textual
Листинг программы
public int CompareTo(Table obj) { int compareResult; compareResult = a.CompareTo(obj.a); if (compareResult == 0) compareResult = b.CompareTo(obj.b); return compareResult; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д