2010-03-01 3 views
4

Как вы SortDictionary по значению (.NET 2.0)? Или есть альтернатива этому?SortDictionary, но сортировать по значению

Я пытаюсь сортировать теги, как в blogger. Но я хочу сортировать теги по числу, которые были использованы, а не по имени?


Я должен еще раз спросить .. почему этот код не будет работать при использовании в ASP.NET

result.Sort((first, second) => second.Value.CompareTo(first.Value)); 

он бросает 5 ошибок при построении

+0

Я пытаюсь определить, будет ли 'KeyedCollection' делать то, что вы хотите. Это абстрактный гибрид между IList и IDictionary. См. MSDN: http://msdn.microsoft.com/en-us/library/ms132438%28VS.80%29.aspx – IAbstract

ответ

4

Вы можете использовать функцию лямбда и a Список, чтобы сделать что-то вроде:

var myList = new Dictionary<string, int>(); 
var result = new List<KeyValuePair<string, int>>(myList); 
result.Sort((first, second) => second.Value.CompareTo(first.Value)); 
+0

+1 Этот метод также позволит вам предоставить различные параметры сортировки, просто используя альтернативную лямбда-функцию. –

Смежные вопросы