c# - 在不使用 Add 方法的情况下为 Hashtable 分配新值

标签 c# .net hashtable

向我一直使用的 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/

相关文章:

c# - Com+ 后期绑定(bind) c# 4.0

c# winforms events 在转义时恢复文本框内容

c# - 我可以使用流在 SQL Server (C#) 中插入或更新行吗?

c# - 使用 WCF 更改规范化算法

c++ - 为什么 python 的 dict 实现为哈希表,而 std::map 是基于树的?

java - 具有 1.0 maxLoad 因子、时间复杂度的哈希表

functional-programming - 如何用函数式语言实现哈希表?

c# - string.Join(string, string[]) 返回 "System.String[]"

c# - FileHelpers:搜索结果

c# - 忽略方法的返回值是否一定是不好的风格