C#中Dictionary的初始化 两种方式不同


以下两种初始化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"
    };


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM