C# Dictionary.Add(key,value) 与 Dictionary[key]=value的区别

1. MSDN上的描述.

http://msdn.microsoft.com/zh-cn/library/9tee9ht2(v=VS.85).aspx

通过设置 Dictionary 中不存在的键值,还可以使用 Item 属性添加新元素。设置属性值时,如果该键在 Dictionary 中,则分配的值将替换与该键关联的值。如果该键不在 Dictionary 中,则将键和值添加到字典中。相比之下,Add 方法不修改现有元素。

键不能为 空引用,但是如果值类型 TValue 为引用类型,该值则可以为空。

2.如果Dictionary中已经有了key, 则再Add会报错: Dictionary 中已存在具有相同键的元素。
而 Dictionary[key]则不会报错,没有时添加,有时则修改替换,因此,更加推荐使用 Dictionary[key]=value 这个方法,更安全,不必写个if判断。

原文地址:https://www.cnblogs.com/jiyang2008/p/5358292.html