【发布时间】:2020-02-19 17:34:03
【问题描述】:
我有一本这样的字典 D1
还有一个像这样的列表L1
我想要一个这样的字典(过滤那些键在列表中的键值对)
所以,我尝试了D1.Where(x => L1.Contains(x.Key)),但我在key 和value 中得到了一个包含两行空字符串的字典。
请指教。
【问题讨论】:
-
调用
Where不会得到字典。它只是一系列键/值对。请提供minimal reproducible example,以便我们准确了解您在做什么。 -
另外,您如何查看结果? Linq 结果很难在调试器中分析,因为它们使用迭代器而不是具体结构。
-
@DStanley:我在执行步骤后检查变量值。
-
@JonSkeet:这就是我所拥有的一切“D1.Where(x => L1.Contains(x.Key))”
-
这不会返回字典。它返回一个
IEnumerable<KeyValuePair<TKey, TValue>>。同样,如果您可以提供minimal reproducible example,我们可以更轻松地为您提供帮助。
标签: c# linq dictionary