我有一本字典fooDictionary<string, MyObject>
。
我正在过滤fooDictionary
以获取具有特定属性值的MyObject。
fooDictionary.Values.Where(x=>x.Boo==false).ToList().ExtensionMethod();
//(扩展方法是我为列表做的扩展方法(用于更多过滤)(PS:ExtensionMethod仅返回1x MyObject)) 但我也想获得已经过滤的MyObject的键。我怎么能这样做?
答案 0 :(得分:2)
当您使用fooDictionary.Values.Where(...)
操作字典值时,您将无法再访问这些键。
而是将查询更改为:
fooDictionary.Where(x => x.Value.Boo == false).ToList().ExtensionMethod();
在ToList()
调用之后,这应该产生List<KeyValuePair<string, MyObject>>
因此保持密钥和相应的值。