LINQ-запрос на использование правильного ключа для правильной пары ключей - PullRequest
1 голос
/ 01 апреля 2020

У меня есть список атрибутов, которые определены как таковые

class Attribute 
{
   public string Name {get; set;}
   public KeyValuePair<string, object>
}

и список ключей, хранящихся в IList<string> listOfKeys

Я хотел бы сохранить все значения в списке объектов, но как с помощью запроса linq проанализировать правильный ключ, извлечь значение и сохранить их в list<object>

Что я пробовал до сих пор, что-то вроде

List<attribute> attributes;

some init stuff 

attributes.Where(x => x.Key). 

как использовать мои ключи здесь?

1 Ответ

1 голос
/ 01 апреля 2020

Попробуйте использовать комбинацию Any:

IList<string> listOfKeys = new List<string>();
var attributes =  new List<Attribute>();            
attributes.Where(a => listOfKeys.Any(l => a.Foo.Key == l));

И Attribute, класс:

class Attribute
{
    public string Name { get; set; }
    public KeyValuePair<string, object>  Foo { get; set; }
}

ОБНОВЛЕНИЕ:

Если вы хотите получить IEnumerable<object>:

var result = attributes.Where(a => listOfKeys.Any(l => a.Foo.Key == l))
    .Select(s => s.Foo.Value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...