[英]Filter lists that are dictionary values
Dictionary<int, List<int>> foo = GetFoo();
foreach (var (key, items) in foo)
{
items = items.Where(item => item % 2 == 0); // unfortunately not in-place
foo[key] = items; // unfortunately breaks iterator
}
我有一个字典映射键到整数列表{ key: [ 1, 2, 3, ... ] }
如何过滤字典的值? 例如,我想获得{ key: [2, 4, ...] }
。
使用RemoveAll
,它需要一个Predicate<T>
:
foreach (var items in foo.Values)
{
items.RemoveAll(item => item % 2 == 0);
}
迭代所有键并为当前键设置过滤列表。
foreach (var key in foo.Keys.ToList())
{
foo[key] = foo[key].Where(item => item % 2 == 0).ToList();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.