以下两种初始化Dictionary的方法有什么不同?
还有就是,["FirstName"] 这样写就是一个变量了吗?中括号中写string字符串是什么意思?
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"
};
写法不同。
中括号中写string字符串是键。
Dictionary是以键值对的形式存数据的,所以上述两种方式都是可以的。第二种是按照【key】=value的形式,中括号里面的表示的是键