C # - Словарь <ключ, значение> в список <T> - PullRequest
0 голосов
/ 21 марта 2011

Я хочу сопоставить мои Dictionary<int, string> с List<Customer>, где Customer имеет два свойства Id и Name.Теперь я хочу сопоставить целое число Key словаря со свойством List<Customer>[i].Key и Value словаря с List<Customer>[i].Name итеративно.

Нужна помощь для того же.

Ответы [ 4 ]

11 голосов
/ 21 марта 2011
var dict = new Dictionary<int, string>(); // populate this with your data

var list = dict.Select(pair => new Customer { Id = pair.Key, Name = pair.Value }).ToList();

Вы также можете использовать соответствующий конструктор Customer (если имеется) вместо примера синтаксиса установки свойств.

3 голосов
/ 21 марта 2011

Вы можете сделать что-то вроде:

 List<Customer> list = theDictionary
                         .Select(e => new Customer { Id = e.Key, Name = e.Value })
                         .ToList();
2 голосов
/ 21 марта 2011
var myList = (from d in myDictionary
             select new Customer {
               Key = d.Key,
               Name = d.Value
             }).ToList();
0 голосов
/ 21 марта 2011

Учитывая myDictionary заполнено и myList это список целей:

myDictionary.ToList()
            .ForEach(x => 
                     myList.Add( new Customer() {Id = x.Key, Name = x.Value} )
                    );
...