从字典中取出 n 个元素
Take n element except from dictionary
我有这个代码:
var items = from pair in dic orderby pair.Value descending select pair;
var top5 = items.Take(5);
我从一个字典字符串中取五项,int降序排列
var keys = String.Join(", ", top5.Select(x => String.Format("{0}", x.Key)).ToArray().Except(res.Keys));
这里我展示了5个项目,但我排除了一些放在另一个字典字符串中的单词,字符串。如果我在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 语句。
使用 Except
的替代方法是在 LINQ 表达式中添加 where
子句:
var items = (from pair in dic
orderby pair.Value descending
where !res.ContainsKey(pair.Key.ToString())
select pair);
var top5 = items.Take(5).ToArray();
我有这个代码:
var items = from pair in dic orderby pair.Value descending select pair;
var top5 = items.Take(5);
我从一个字典字符串中取五项,int降序排列
var keys = String.Join(", ", top5.Select(x => String.Format("{0}", x.Key)).ToArray().Except(res.Keys));
这里我展示了5个项目,但我排除了一些放在另一个字典字符串中的单词,字符串。如果我在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 语句。
使用 Except
的替代方法是在 LINQ 表达式中添加 where
子句:
var items = (from pair in dic
orderby pair.Value descending
where !res.ContainsKey(pair.Key.ToString())
select pair);
var top5 = items.Take(5).ToArray();