假設我要在字典中,它們的值進行排序返回鍵列表的方法:如何引用默認的IComparer在一個自定義字典值排序
/// Perhaps a wildly inefficient way to achieve this!
public static List<K> SortByValues<K,V>(Dictionary<K,V> items)
{
var keys = new K[items.Count];
var values = new V[items.Count];
var index = 0;
foreach(var kvp in items)
{
keys[index] = kvp.Key;
values[index++] = kvp.Value;
}
Array.Sort(values, keys);
return new List<K>(keys);
}
我想提供一個接受過載一個IComparer傳遞給Array.Sort
方法。有沒有辦法做到這一點,而不重複所有的代碼?理想情況下,可以通過某種方式來獲得類型V的「默認」比較器。
就是這樣,感謝您的參考。 – 2010-07-09 23:06:59