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

C#字典过滤(LINQ)和列表扩展方法过滤值并获取密钥,c#,linq,dictionary,C#,Linq,Dictionary,我有一本字典 我正在过滤fooDictionary,以仅获取具有特定属性值的MyObject fooDictionary.Values.Where(x=>x.Boo==false).ToList().ExtensionMethod(); //(ExtensionMethod是我为列表制作的扩展方法(用于更多过滤)(PS:ExtensionMethod只返回1xmyobject)) 但我还想得到已经过滤过的MyObject的密钥。我该怎么做?当您使用foodialistic.values操

我有一本字典

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

fooDictionary.Values.Where(x=>x.Boo==false).ToList().ExtensionMethod();
//(ExtensionMethod是我为列表制作的扩展方法(用于更多过滤)(PS:ExtensionMethod只返回1xmyobject))
但我还想得到已经过滤过的MyObject的密钥。我该怎么做?

当您使用
foodialistic.values操作字典值时。其中(…)
,您将无法再访问键

改为将查询更改为:

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

调用
ToList()
后,应该会生成一个
列表
,从而维护键和相应的值。

当您使用
fooDictionary.values操作字典值时。其中(…)
,您不再有权访问键

改为将查询更改为:

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

调用
ToList()
后,应该会生成一个
列表
,从而维护键和相应的值。

您的?对我来说就像是复制粘贴。两人都不清楚你在问什么。展示你的
ExtensionMethod
,让人们了解你在追求什么。可能重复你的方法有什么不同?对我来说就像是复制粘贴。两人都不清楚你在问什么。显示您的
扩展方法
,让人们了解您的目标。可能重复的