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