首页 新闻 会员 周边

C#中Dictionary<string,string>的初始化

0
悬赏园豆:20 [已解决问题] 解决于 2019-08-13 14:22

以下两种初始化Dictionary的方法有什么不同?
还有就是,["FirstName"] 这样写就是一个变量了吗?中括号中写string字符串是什么意思?

            var obj = new Dictionary<string, string>() {
                { "FirstName" , "Eric"}                    
            };

            var obj1 = new Dictionary<string, string>
            {
                ["FirstName"] = "Eric" 
            };
怪咖Eric的主页 怪咖Eric | 初学一级 | 园豆:184
提问于:2019-08-12 15:41
< >
分享
最佳答案
1

第一个等价于
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"
        };
收获园豆:20
天方 | 大侠五级 |园豆:5407 | 2019-08-12 21:41
其他回答(3)
0

写法不同。

花飘水流兮 | 园豆:13560 (专家六级) | 2019-08-12 15:59
0

中括号中写string字符串是键。

会长 | 园豆:12401 (专家六级) | 2019-08-12 16:24
0

Dictionary是以键值对的形式存数据的,所以上述两种方式都是可以的。第二种是按照【key】=value的形式,中括号里面的表示的是键

兰茵 | 园豆:458 (菜鸟二级) | 2019-08-12 17:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册