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