假设我要在字典中,它们的值进行排序返回键列表的方法:如何引用默认的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