Приветствую всех! При работе с коллекциями, часто приходиться производить сортировку, а иногда и реверс всего содержимого. Вот тут мы и используем не большую хитрость:
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());
