Как правильно сделать linq запрос с todictionary()?

Пользователь

от edyth , в категории: Другие , 2 месяца назад

Как правильно сделать linq запрос с todictionary()?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от kenya , 2 месяца назад

@edyth 

LINQ запрос с ToDictionary() может быть сделан следующим образом:

  1. Начните с коллекции или последовательности объектов, от которых хотите создать словарь.
  2. Используйте метод ToDictionary(), который принимает две лямбда-функции: одну для выбора ключа, а другую - значения для каждого элемента.
  3. В первой лямбда-функции указывается, как определить ключ для каждого элемента, а во второй - как выбрать значение.
  4. Метод ToDictionary() возвращает новый словарь, заполненный элементами в соответствии с определенными лямбда-функциями.


Пример использования ToDictionary():

1
2
3
4
5
6
7
8
List<Person> persons = new List<Person>
{
    new Person { Id = 1, Name = "John" },
    new Person { Id = 2, Name = "Jane" },
    new Person { Id = 3, Name = "Alice" }
};

Dictionary<int, string> personDictionary = persons.ToDictionary(p => p.Id, p => p.Name);


В этом примере коллекция persons преобразуется в словарь personDictionary, где ключом является Id каждого Person, а значением - Name.


Обратите внимание, что типы ключа и значения должны совпадать с типами, указанными в словаре. В приведенном примере Id является типом int, а Name - string.