在大多数编程语言中,字典比哈希表更受欢迎.

推荐答案

不管它值多少钱,字典is(概念上)是一个哈希表.

如果你的意思是"为什么我们用Dictionary<TKey, TValue>级而不是Hashtable级?",答案很简单:Dictionary<TKey, TValue>是泛型,Hashtable不是.这意味着您可以使用Dictionary<TKey, TValue>获得类型安全性,因为您不能在其中插入任何随机对象,并且不必强制转换取出的值.

有趣的是,Dictionary<TKey, TValue>的实现在.NET Framework基于Hashtable,从其源代码中的注释可以看出:

通用词典是从Hashtable的源代码复制的

Source

.net相关问答推荐

升级到.NET8后,SignalR(在坞站容器上)网关损坏

使用托管身份而不是检测密钥配置Application Insights

使用EFCore.BulkExtensions库方法BulkInertOrUpdate时区分插入和更新的记录

保存时不保留 XML 格式

Msbuild try 构建 msbuild.exe 而不是我的 .csproj 文件

MongoDB GridFs with C#,如何存储图片等文件?

将 Moq 模拟对象传递给构造函数

根源是什么?

如何判断 IOException 是否为 Not-Enough-Disk-Space-Exception 类型?

将客户端证书添加到 .NET Core HttpClient

不同命名空间中的部分类

使用 Task.Factory.StartNew 传递方法参数

返回 IQueryable 或不返回 IQueryable

mscorlib 代表什么?

如何使我的托管 NuGet 包支持 C++/CLI 项目?

Moq - 不可覆盖的成员不能用于设置/验证表达式

beforefieldinit 标志有什么作用?

绑定到不在列表中的值的可编辑组合框

如何修复 .NET Windows 应用程序在启动时崩溃并出现异常代码:0xE0434352?

ConfigurationManager.AppSettings - 如何修改和保存?