c# - 从字典中取出 n 个元素

标签 c# dictionary except take

我有这个代码:

var items = from pair in dic orderby pair.Value descending select pair;
var top5 = items.Take(5);

我从字典字符串中取出五个项目,按降序排列

var keys = String.Join(", ", top5.Select(x => String.Format("{0}", x.Key)).ToArray().Except(res.Keys));

这里我显示了 5 个项目,但我排除了一些放在另一个 Dictionary 字符串 string 中的单词。如果我在 top5 中排除一个词,我将显示少于 5 个元素。

如何在不显示某些单词的情况下始终显示 5 个元素?

最佳答案

var items = from pair in dic orderby pair.Value descending select pair;
var keys = items.Select(x => String.Format("{0}", x.Key)).ToArray().Except(res.Keys);
var top5 = keys.Take(5);
var result = String.Join(", ", top5);

在完成排除后执行.Take。然后进行格式化。您可以将其中一些组合成一个 linq 语句。

关于c# - 从字典中取出 n 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33512976/

相关文章:

c# - 如何减少多个图像的内存使用?

c# - 具有第 4 维标记特殊值的 3D 表面着色

python - 填充python字典错误

python - 合并Python字典列表中的重复项目

c# - 按月生成 Crystal 报表?

c# - 将强类型表达式转换为匿名类型返回

c++ - 映射运算符 [] 的编译错误

MySQL - 从一个查询集中减去另一个查询集

Python:为什么我的代码有语法错误?

Python:最后需要一个 try-except 子句吗?