Сортировка List<KeyValuePair<string, int>>();

136
10 января 2019, 06:20

У меня естьList<KeyValuePair<string, int>>(); в который я из словаря записываю слово и его вес. Как через метод Sort(); можно вывести 5 самых "тяжелых" слов и их вес. Надо перегружать метод или как-то через IComparable?

Answer 1

Если нужно именно через метод Sort, то таким образом:

list.Sort((pair1, pair2) => pair1.Value >= pair2.Value ? -1 : 1);
var heaviestWords = list.Take(5).ToList();

Но нагляднее через LINQ:

var heaviestWords = list.OrderByDescending(pair => pair.Value).Take(5).ToList();
READ ALSO
Аналог setw() в C#

Аналог setw() в C#

Требуется вывести таблицу умножения в консоли примерно подобном виде:

238
Не могу изменить layer в unity

Не могу изменить layer в unity

Нужно сделать если игрок находится за деревом - Order in layer уменьшается, в следствии чего игрок отрисовывается за деревом, то есть дерево его...

146
Возможно ли выполнение Win формы без отображения

Возможно ли выполнение Win формы без отображения

Приступил к расширению функционала и главная форма стала вторичной

164
Как сгруппировать элементы ListView? wpf

Как сгруппировать элементы ListView? wpf

Вопрос простойМне нужно сгруппировать мой ListView (в котором GridView) где-то так:

188