Collection initializer is a new featured added to C# 3.0. Let's take a look at this sample code:
List<string> names = new List<string>();
names.Add("Mahesh Chand");
names.Add("Mike Gold");
names.Add("Matt Chochran");
names.Add("Praveen Kumar");
var selectedNames = from name in names
select name;
foreach(var n in selectedNames)
Console.WriteLine(n);
Console.ReadLine();
In the above code, we create a collection called list of strings (List<string>) and add items to this collection by calling the Add method.
Now using this new feature, we can initialize this collection when we create the collection as following:
List<string> names = new List<string>()
{ "Mahesh Chand", "Mike Gold", "Matt Chochran", "Praveen Kumar" };
//names.Add("Mahesh Chand");
//names.Add("Mike Gold");
//names.Add("Matt Chochran");
//names.Add("Praveen Kumar");
var selectedNames = from name in names
select name;
foreach(var n in selectedNames)
Console.WriteLine(n);
Console.ReadLine();