字典操作中add和[]的区别是什么

时间:2010-11-19 03:14:49

标签: c# .net

字典词典;

之间的差异是什么

dict.add(key,value)和dict [key] = value

3 个答案:

答案 0 :(得分:16)

如果密钥不存在,

dict[key] = value将添加值,否则它将使用该(现有)密钥覆盖该值。

示例:

var dict = new Dictionary<int, string>();
dict.Add(42, "foo");
Console.WriteLine(dict[42]);
dict[42] = "bar";  // overwrite
Console.WriteLine(dict[42]);
dict[1] = "hello";  // new
Console.WriteLine(dict[1]);
dict.Add(42, "testing123"); // exception, already exists!

答案 1 :(得分:5)

正如艾哈迈德所说,如果密钥不存在,dictionary[key] = value;将添加值,如果密钥不存在,则添加值。

另一方面,如果dictionary.Add(key, value);存在,key将抛出异常。

答案 2 :(得分:2)

如果密钥已存在于字典中,则Add操作将失败(抛出ArgumentException)。如果密钥不存在,[]操作将添加密钥,如果密钥存在,则更新密钥。