如何 sort/select 哈希表中的最高值?
How to sort/select top values from Hashtable?
我有一个 Hashtable
,内容如下:
jak: 1
dsf: 1
usd: 1
idb: 1
bla: 3
sdd: 1
asd: 2
bsd: 1
我想要 select 前 10 对 按价值。在这个例子中它会是这样的:
bla: 3
asd: 2
等我该怎么做?
如果您将代码换成使用字典,它将看起来像:
var top10 = dict.OrderByDescending(kvp => kvp.Value).Take(10);
您可以枚举top10
,这将是一个KeyValuePair序列,并打印它们的Key和Value属性
顺便说一句,您仍然可以使用哈希表来完成(gunr 的评论有点暗示您不能使用 LINQ)并且您可以让 LINQ 强制转换所有条目以使其更易于使用:
hashtable.Cast<DictionaryEntry>().OrderByDescending(de => (int)de.Value).Take(10)
我有一个 Hashtable
,内容如下:
jak: 1
dsf: 1
usd: 1
idb: 1
bla: 3
sdd: 1
asd: 2
bsd: 1
我想要 select 前 10 对 按价值。在这个例子中它会是这样的:
bla: 3
asd: 2
等我该怎么做?
如果您将代码换成使用字典,它将看起来像:
var top10 = dict.OrderByDescending(kvp => kvp.Value).Take(10);
您可以枚举top10
,这将是一个KeyValuePair序列,并打印它们的Key和Value属性
顺便说一句,您仍然可以使用哈希表来完成(gunr 的评论有点暗示您不能使用 LINQ)并且您可以让 LINQ 强制转换所有条目以使其更易于使用:
hashtable.Cast<DictionaryEntry>().OrderByDescending(de => (int)de.Value).Take(10)