@edyth
LINQ запрос с 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.
@edyth
Пример LINQ запроса с использованием метода ToDictionary() для создания словаря из коллекции объектов Person:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System;
using System.Collections.Generic;
using System.Linq;
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main()
{
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);
foreach (var kvp in personDictionary)
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
}
}
|
В этом примере метод ToDictionary() преобразует коллекцию объектов Person в словарь, используя Id в качестве ключа и Name в качестве значения. Результат выводится на консоль в виде пар ключ-значение.
Не забудьте подключить пространства имен System и System.Collections.Generic, если они не были подключены ранее.