Pieter Brinkman

Linq Casting: ToDictionary()

2 min readpieterlinq

In this post I will give an example how to cast a GenericList to Dictionary. This example will use the following Blogger class.

public class Blogger {
 public string FirstName {
get;
set;
}
 public string LastName {
get;
set;
}
 public int Age {
get;
set;
}
 public string Blog {
get;
set;
}
}

The example will cast a List<Blogger> to a dictionary with key FirstName, Lastname and value the Age of the blogger.

// DECLARE PERSONLIST List personList = new List(); personList.Add(new Blogger { FirstName = "Pieter", LastName = "Brinkman", Age = 27, Blog = "http://blog.newguid.net" }); personList.Add(new Blogger { FirstName = "Mark", LastName = "van Aalst", Age = 26, Blog = "http://www.markvanaalst.com/" }); personList.Add(new Blogger { FirstName = "Bas", LastName = "Hammendorp", Age = 32, Blog = "http://www.hammendorp.net/" }); // CREATE NEW DICTIONARY FROM LIST // with key FirstName + LastName and value Age Dictionary AgeDictionary =  personList.ToDictionary(x => x.FirstName + " " + x.LastName,
       x => x.Age,        StringComparer.OrdinalIgnoreCase); // GENERATE OUTPUT foreach (KeyValuePair item in AgeDictionary)  Response.Write("key: " + item.Key + " - value: " + item.Value + "  
"); //// OUTPUT //key: Pieter Brinkman - value: 27 //key: Mark van Aalst - value: 26 //key: Bas Hammendorp - value: 32

 Hope it helps.