向我一直使用的 dotnet 哈希表添加新值:
myHashtable.Add(myNewKey, myNewValue);
但我刚刚遇到了一些执行以下操作的代码:
myHashTable[myNewKey] = myNewValue;
这两种方法有什么区别吗?
最佳答案
稍微纠正一下 Sergej 的回答...
-
Add
如果 key 已经存在,确实会抛出异常。 - 将索引器用作 setter 不会引发异常(除非您指定空键)。
- 如果键不存在并且您使用的是通用
IDictionary<TKey,TValue>
,则使用索引器作为 getter 会抛出异常。 .在非通用IDictionary
实现(例如Hashtable
)你会得到一个空引用。你不能对任何一个使用空键 - 你会得到一个ArgumentNullException
.
关于c# - 在不使用 Add 方法的情况下为 Hashtable 分配新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/682322/