C# 字典筛选 (LINQ) 和列表扩展方法筛选值并获取密钥



我有一个字典fooDictionary<string, MyObject>.

我正在过滤fooDictionary以仅获取具有特定属性值的 MyObject。

fooDictionary.Values.Where(x=>x.Boo==false).ToList().ExtensionMethod();

//(扩展方法是我为列表制作的扩展方法(用于更多过滤((PS:扩展方法仅返回 1x MyObject(( 但我也想获取已经过滤的MyObject的密钥。我该怎么做?

当您使用fooDictionary.Values.Where(...)对字典值进行操作时,您将无法再访问这些键。

而是将查询更改为:

fooDictionary.Where(x => x.Value.Boo == false).ToList().ExtensionMethod();

ToList()调用之后,这应该会产生一个List<KeyValuePair<string, MyObject>>从而维护密钥和相应的值。

最新更新