Сортировка словаря по ключу и значению?

Что делать, если я хочу сортировать словарь в С# с порядком, определяемым его ключом И его значением. Как нисходящий порядок по его значению и внутри тех, которые имеют одинаковое значение, спускаются по его ключу. Кажется вполне возможным сортировать только по ключу или только по значению, но оба они очень раздражают.

Ответы

Ответ 1

using System.Linq;
...
IOrderedEnumerable<KeyValuePair<TKey, TValue>> sortedCollection = myDictionary
                    .OrderByDescending(x => x.Value)
                    .ThenByDescending(x => x.Key);

Ответ 2

Если вам нужна более сложная схема упорядочения, используйте IComparer > для использования в перегруженной версии OrderBy или OrderByDescending.