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