我有一个像这样排序的字典:
var sortedDict = (from entry in dd
orderby entry.Value descending select entry
).ToDictionary(pair => pair.Key, pair => pair.Value);
如何从已排序的字典中选择前10个元素?
我有一个像这样排序的字典:
var sortedDict = (from entry in dd
orderby entry.Value descending select entry
).ToDictionary(pair => pair.Key, pair => pair.Value);
如何从已排序的字典中选择前10个元素?
根据您在查询中提到的降序,我认为您需要最后10次出现。如果是这样的话
var sortedDict = (from entry in dd orderby entry.Value descending select entry)
.Take(10)
.ToDictionary(pair => pair.Key, pair => pair.Value) ;
var sortedDict = dd.OrderByDescending(entry=>entry.Value)
.Take(10)
.ToDictionary(pair=>pair.Key,pair=>pair.Value);
如果你需要前10个,只需删除descending
即可正常工作。
var sortedDict = (from entry in dd orderby entry.Value select entry)
.Take(10)
.ToDictionary(pair => pair.Key, pair => pair.Value) ;
var sortedDict = dd.OrderBy(entry=>entry.Value)
.Take(10)
.ToDictionary(pair=>pair.Key,pair=>pair.Value);
由于您将字典排序为降序
,因此选择前10个结果将选择前10名
:
var sortedDict = (from entry in dd
orderby entry.Value descending
select entry
).Take(10)
.ToDictionary(pair => pair.Key, pair => pair.Value);
var sortedDict = (
from entry in dd
orderby entry.Value descending
select entry)
.Take(10)
.ToDictionary(pair => pair.Key, pair => pair.Value);
var sortedDict = (from entry in dd orderby entry.Value descending select entry)
.Take(10).ToDictionary(pair => pair.Key, pair => pair.Value);
如果您先取出前10个元素,然后将它们转换为字典,这样会更有效率。如果反过来,它会先将所有元素转换为字典,然后再从中取出前10个。如果我们需要选择的列表很大,这将影响效率。