我有Hashtable
以下内容:
jak: 1
dsf: 1
usd: 1
idb: 1
bla: 3
sdd: 1
asd: 2
bsd: 1
我想按 value选择前 10 对。在这个例子中,它会是这样的:
bla: 3
asd: 2
等等 我该怎么做?
如果您将代码交换为使用字典,它将如下所示:
var top10 = dict.OrderByDescending(kvp => kvp.Value).Take(10);
您可以 enumerate top10
,这将是 KeyValuePair 的序列,并打印它们的 Key 和 Value 属性
顺便说一下,您仍然可以使用哈希表来完成(gunr 的评论有点暗示您不能使用 LINQ),并且您可以让 LINQ 对所有条目进行转换以使其更易于使用:
hashtable.Cast<DictionaryEntry>().OrderByDescending(de => (int)de.Value).Take(10)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句