Приветствую всех! При работе с коллекциями, часто приходиться производить сортировку, а иногда и реверс всего содержимого. Вот тут мы и используем не большую хитрость:
public class DescendingComparer : IComparer { CaseInsensitiveComparer comparer = new CaseInsensitiveComparer(); public int Compare(object x, object y) { // Для сортировки по убыванию. // Объекты, переданные для сравнения, меняются местами. int result = comparer.Compare(y, x); return result; }
В данном примере мы проверяем равенство двух объектов без учета регистра строк, и в метод Compare передаем эти объекты, поменяв местами, таким образом получив сортировку по убыванию. Данную пример обратной сортировки можно использовать во всех коллекциях и не только в SortedList.
Для вызовы необходимо лишь передать наш класс в конструктор коллекции:
var sortRevers = new SortedList(new DescendingComparer());