c# - 必须做什么才能将引用类型的值用作字典键?

标签 c# generics dictionary gethashcode

假设我有一个类 T我想用作 Dictionary<T,U> 中的键收藏。

我必须在 T 中实现什么以便这些键基于 T 的值而不是 T引用资料?

我希望它只是 GetHashCode() .

最佳答案

您必须实现 GetHashCode() 和 Equals()。

字典是隐藏在下面的哈希表,因此您可能需要阅读以下内容:Pitfalls Of Equals/GetHashCode – How Does A Hash Table Work?

关于c# - 必须做什么才能将引用类型的值用作字典键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2881742/

相关文章:

c# - 从 html 文档中获取跨度值

c# - 在抽象类中使用泛型

java - 查找 Java 类中的所有依赖项

c# - 如何在不知道 T 是什么的情况下将 T 类型的项目添加到 List<T>?

Python:创建一个新字典,从嵌套列表的字典中获取值

python - 确定对象的类型?

c# - WPF 中 TreeView 的级别?

c# - MSAL + Azure 应用服务

c# - 为什么 GetHashCode 应该实现与 Equals 相同的逻辑?

python - 缺失值的插值