2010-03-01 42 views
4

如何按值排序Dictionary(.NET 2.0)?或者有沒有其他辦法呢?SortDictionary,但按值排序

我想排序標籤就像在博主。但我想按照數字來分類標籤,而不是按名稱排序?


我不必再問.. 爲什麼這個代碼在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 2010-03-01 03:23:03

回答

4

可以使用lambda函數和一個名單做類似:

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此方法還允許您通過使用替代lambda函數來提供不同的排序選項。 – 2010-03-01 03:47:21