Приветствую всех! При работе с коллекциями, часто приходиться производить сортировку, а иногда и реверс всего содержимого. Вот тут мы и используем не большую хитрость:
1 2 3 4 5 6 7 8 9 10 11 |
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.
Для вызовы необходимо лишь передать наш класс в конструктор коллекции:
1 |
var sortRevers = new SortedList(new DescendingComparer()); |