关于c#中的集合初始值设定项

ADS*_*rko 3 c# collections initializer

我承认我对c#的经验很少,所以这可能很明显,但我不得不问 - 两个代码示例之间有什么区别吗?如果不明显,第一个语句会在new运算符的末尾省略().那里有什么区别或者()在这种情况下是多余的?

private static Dictionary<string, string> dict1 = new Dictionary<string, string>
{
    { "a", "A" },
    { "b", "B" }
};

private static Dictionary<string, string> dict2 = new Dictionary<string, string>()
{
    { "a", "A" },
    { "b", "B" }
};
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 6

那里有什么区别或者()在这种情况下是多余的?

没有区别.()使用集合初始化程序时添加是可选的,但生成的编译IL是相同的.