C # Словарь фильтрации (LINQ) и метод расширения списка, фильтрация значений и получение ключа - PullRequest
0 голосов
/ 27 мая 2018

У меня есть словарь fooDictionary<string, MyObject>.

Я фильтрую fooDictionary, чтобы получить только MyObject с определенным значением свойства.

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

// (РасширениеМетод является методом расширения, который я сделал для списков (для дополнительной фильтрации) (PS: ExtensionMethod возвращает только 1x MyObject)) Но я также хочу получить ключи уже отфильтрованных MyObject.Как я могу это сделать?

1 Ответ

0 голосов
/ 27 мая 2018

Когда вы работаете со значениями словаря с помощью fooDictionary.Values.Where(...), у вас больше нет доступа к ключам.

Вместо этого измените запрос на:

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

После ToList()вызовите, это должно привести к List<KeyValuePair<string, MyObject>>, следовательно, и ключ, и соответствующее значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...