以下兩種初始化Dictionary的方法有什么不同?
var obj = new Dictionary<string, string>() {
{ "FirstName" , "Eric"}
};
var obj1 = new Dictionary<string, string>
{
["FirstName"] = "Eric"
};
第一個等價於
new Dictionary<string, string>().Add("FirstName", "Eric");
第二個等價於
new Dictionary<string, string>()["FirstName"] = "Eric";
這兩個行為是不一樣的。
例如,下面這段代碼,前面出錯,后面不出錯的。
var obj = new Dictionary<string, string>()
{
{"FirstName", "Eric"},
{ "FirstName" , "Eric2"}
};
var obj1 = new Dictionary<string, string>
{
["FirstName"] = "Eric",
["FirstName"] = "Eric2"
};