Как объединить словарь и список по ключу - PullRequest
0 голосов
/ 11 мая 2018

У меня есть словарь, который выглядит следующим образом:

Dictionary<String, String> dictionary = new Dictionary<string, string>{
  { "dog", "DOG" },
  { "cat", "CAT" },
  ...continued
};

, и я хочу извлечь значение Id из списка, который имеет соответствующее значение, как показано ниже:

List<Animal> records = new List<Animal>{
  { Id: "1", Name: "DOG" },
  { Id: "2", Name: "CAT" }
  ...continued
}

Iнужно вывести словарь, который выглядит следующим образом:

Dictionary<String, String> newDictionary = new Dictionary<string, string>
  { "dog": "1" },
  { "cat": "2 }
  ...continued
}

Есть ли простое решение LINQ для этого?

1 Ответ

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

Вы можете использовать JOIN для получения подходящих записей из словаря и списка, подобного этому:

var query = from d in dictionary
        join r in records
        on d.Value equals r.Name
        select new { Id=r.Id, Name=d.Key };

var newDictionary = query.ToDictionary(d => d.Name, d => d.Id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...