Встроенное объявление словаря <> в C # с FOREACH () - PullRequest
1 голос
/ 13 июля 2011

Может кто-нибудь помочь с синтаксисом что-то вроде этого:

Dictionary<string,string> dict = new Dictionary<string,string>()
{
         foreach(var i in collection<Items>)
-----add i to dictionary
}

Ответы [ 3 ]

5 голосов
/ 13 июля 2011

Мне не совсем понятно, что вы имеете в виду, но вам может помочь метод расширения LINQ ToDictionary.Например:

var dictionary = collection.ToDictionary(item => item.Key,
                                         item => item.Value);

(Очевидно, вы можете изменить способ получения ключа и значения из элемента.)

2 голосов
/ 13 июля 2011

Вы можете использовать LINQ для этого:

Dictionary<string,string> dict = collection.ToDictionary(i => i.MyKey, i => i);
1 голос
/ 13 июля 2011

Вы можете сделать что-то вроде UserCollection.ForEach (d => ... добавить каждый d.key и d.value к словару и любую другую логику, связанную с выбором ключа и значения), предполагая, что коллекция типов User имеет вид в формате списка или, если это IEnumerable, вы можете просто сделать .ToList (). ForEach (...

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