Отдельный класс comparer в C#
Правило сортировки можно вынести в отдельный класс с IComparer<T>
или передать лямбдой в Comparer<T>.Create. Так упорядочивают чужие
типы, не меняя их исходный код.
Класс SortedSet<string> всегда держит элементы отсортированными по выбранному comparer.
Построим множество строк в обратном алфавитном порядке. Свойство
Min вернёт "c": по этому правилу наименьшей считается
строка, которая в обычном алфавите стоит позже:
SortedSet<string> set = new SortedSet<string>(
Comparer<string>.Create((a, b) => b.CompareTo(a)));
set.Add("a");
set.Add("c");
Console.WriteLine(set.Min);
Добавьте коды "red" и "blue" в набор с обратным алфавитным порядком и выведите элемент, который набор считает наименьшим.