Reputation: 159
I want to map my Dictionary<int, string>
to a List<Customer>
where Customer
has two properties Id
and Name
. Now I want to map my integer Key
of the dictionary to the List<Customer>[i].Key
property and Value
of the dictionary to List<Customer>[i].Name
iteratively.
Need help for the same.
Upvotes: 1
Views: 13401
Reputation: 51624
Given myDictionary
is populated and myList
ist the target list:
myDictionary.ToList()
.ForEach(x =>
myList.Add( new Customer() {Id = x.Key, Name = x.Value} )
);
Upvotes: 0
Reputation: 86862
var myList = (from d in myDictionary
select new Customer {
Key = d.Key,
Name = d.Value
}).ToList();
Upvotes: 2
Reputation: 564333
You could do something like:
List<Customer> list = theDictionary
.Select(e => new Customer { Id = e.Key, Name = e.Value })
.ToList();
Upvotes: 3
Reputation: 437336
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();
You can also use an appropriate Customer
constructor (if available) instead of the example property setter syntax.
Upvotes: 12