Сравнение - это делегат, который определяет, как должен возвращаться метод сравнения и какие параметры он должен получить.В этом примере он создает метод CompareDinosByLength для реализации делегата сравнения.
Если вы хотите сравнить свои объекты, вы должны реализовать свой метод следующим образом:
public static int CompareObjects(MyClass a, MyClass b) {
if (a < b) { // Make your comparison logic here.
return -1;
} else if (a == b) {
return 0;
} else {
return 1;
}
}
Единственное ограничение для создания этого метода - возвращаемое значение должно следовать этому шаблону (-1, когда x y).
Добавить кметод sort, вам нужно только передать имя метода в качестве параметра методу Sort ():
list.Sort(CompareObjects);
И C # сделает все остальное за вас.