Pushkar Prabhu Ответов: 4

C# как отсортировать словарь в порядке убывания


Мне нужен отсортированный словарь в порядке убывания. Как я могу это сделать?

4 Ответов

Рейтинг:
36

Pushkar Prabhu

спасибо..:)

Рейтинг:
2

BillWoodruff

В этом посте на CP я демонстрирую сортировку общего словаря как по ключам, так и по значениям, как в восходящем, так и в нисходящем порядке, и там хорошо обсуждаются вопросы сортировки словарей: [^].


Рейтинг:
2

Mantu R

Dictionary<string, string> dict = new Dictionary<string, string>();

dict.Add("Mango", "1");
dict.Add("Cat", "5");
dict.Add("Rat", "4");
dict.Add("Hare", "2");
dict.Add("Apple", "2");

dict = dict.OrderByDescending(u => u.Value).ToDictionary(z => z.Key, y => y.Value);
//OR
dict = dict.OrderByDescending(keySelector:u => u.Value).ToDictionary(keySelector:z => z.Key, elementSelector:y => y.Value);


Deepu S Nair

Вы отвечаете на вопрос, которому уже почти 5 лет и который уже решен .Это может привлечь понижение вашего ответа.Пожалуйста, попробуйте ответить на новые вопросы

Рейтинг:
15

agent_kruger

сохраните его в переменной типа var и запишите :-

var.Sort();


BillWoodruff

Универсальный словарь .NET не имеет метода сортировки. Вы можете использовать оператор Linq 'OrderBy: смотрите мой пост здесь для ссылки на пример использования 'OrderBy.