c# - 过滤作为字典值的列表
问题描述
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);
}
推荐阅读
- git - 如果没有要提交的内容,Git 提交和推送将失败
- reflection - 如何系统地填充沙盒程序的白名单?
- reactjs - 在 Draft-js NPM 中突出显示单词
- python - 没有 Numpy 的 Python 中的矩阵乘法
- sql - 相似查询的不同输出
- hadoop - 纱线容量调度程序中的内部队列抢占
- angular - 在angular7中将HTML页面转换为PDF
- android - 如何在同步 Gradle 时修复 android studio 中的“无法调用方法 buildTypes()”错误?
- c# - 在 ListView 中显示嵌套的 JSON 数据(Xamarin.Forms,C#)
- java - 在自动生成的实现中不使用按名称限定的 mapstruct 中使用的方法