Initialize a collection type with values:
var stringList = new List<string>
{
"foo",
"bar",
};
Collection initializers are syntactic sugar for Add()
calls. Above code is equivalent to:
var temp = new List<string>();
temp.Add("foo");
temp.Add("bar");
var stringList = temp;
Note that the intialization is done atomically using a temporary variable, to avoid race conditions.
For types that offer multiple parameters in their Add()
method, enclose the comma-separated arguments in curly braces:
var numberDictionary = new Dictionary<int, string>
{
{ 1, "One" },
{ 2, "Two" },
};
This is equivalent to:
var temp = new Dictionary<int, string>();
temp.Add(1, "One");
temp.Add(2, "Two");
var numberDictionarynumberDictionary = temp;