集合初始化器

使用值初始化集合类型:

var stringList = new List<string>
{
    "foo",
    "bar",
};

集合初始值设定项是 Add() 调用的语法糖。以上代码相当于:

var temp = new List<string>();
temp.Add("foo");
temp.Add("bar");
var stringList = temp;

请注意,初始化是使用临时变量以原子方式完成的,以避免竞争条件。

对于在 Add() 方法中提供多个参数的类型,请将逗号分隔的参数括在花括号中:

var numberDictionary = new Dictionary<int, string>
{
    { 1, "One" },
    { 2, "Two" },
};

这相当于:

var temp = new Dictionary<int, string>();
temp.Add(1, "One");
temp.Add(2, "Two");
var numberDictionarynumberDictionary = temp;