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;
}