为什么 C# 不实现集合的 GetHashCode?
我正在将一些东西从 Java 移植到 C#。在 Java 中,ArrayList 的 hashcode 取决于其中的项。在 C# 中,我总是从 List 中获取相同的哈希码... 这是为什…
要将引用类型的值用作字典键,必须做什么?
假设我有一个类 T,我想将其用作 Dictionary 集合中的键。 我必须在 T 中实现什么,以便这些键基于 T 的值而不是 T 引用? 我希望它只是 GetHashCode(…
NHibernate set:我应该重写 Equals 和 GetHashCode 吗?
我是 NHibernate 的新手。我正在使用一些多对一和多对多关联的映射。这些被公开为 ICollection 类型的属性,实际上由 HashSet 实现。 我的问题是,我…
字典键不包含已包含在键中的键
为什么以下“存在”布尔变量的值为 false??? foreach (Cell existCell in this.decoratorByCell.Keys) { //this call yield the same hashcode for…
如何实现 IEquatable当可变字段是等式的一部分时 - GetHashCode 的问题
我在我的应用程序中使用实体框架。 我使用实体的分部类实现了 IEquatable 接口: Partial Class Address : Implements IEquatable(Of Address) 'Other…
.Net HashSet唯一性计算完全基于哈希码吗?
我想知道 .Net HashSet 是否完全基于哈希码,或者是否也使用相等性? 我有一个特定的类,我可能会实例化数百万个实例,并且此时某些哈希码很可能会发…
在空字段上获取HashCode?
如何处理 GetHashCode 函数中的空字段? Module Module1 Sub Main() Dim c As New Contact Dim hash = c.GetHashCode End Sub Public Class Contact :…
Equals 和 GetHashCode 的最佳策略是什么?
我正在使用域模型,并正在考虑在 .NET 中实现这两种方法的各种方法。您的首选策略是什么? 这是我当前的实现: public override bool Equals(object o…
使用枚举上的 XOR 运算符重载 GetHashCode 和相等运算符
我有以下类,它是静态分析包的一部分。 MetricKey 对象用作字典键。 决策、MetricUnit & Portfolio 都是枚举。 我必须重写相等运算符 (==) 才能使字典…
如何在重写 GetHashCode() 的类型上使用 Object.GetHashCode()
我有一个实现 IEquatable<> 的类 A,使用其字段(例如 Ab 和 Ac)来实现/覆盖 Equals() 和覆盖 GetHashCode(),并且 99% 的时间一切正常。类 A 是继承…
使用先前从密钥集合中检索到的密钥时出现 KeyNotFoundException?
我有以下代码,由于某种原因,即使我使用的是我在上面检索到的几行的密钥,我也会收到 KeyNotFoundException 。有谁知道这不起作用的情况吗?我很困惑…
DateTime.Now 是否有自己的 GetHashCode 实现来提供唯一的哈希值?
MSDN 文章此处指出,默认实现GetHashCode() 的方法不保证结果唯一,不应用作标识符。所以我的问题是 DateTime.Now 是否有自己的实现可以给出唯一的哈…
.Net 2.0 代码中是否实现了 .Net 1.1 兼容的 String.GetHashCode ?
我有一个现有的应用程序,其中我错误地使用了 String.GetHashCode 并将其保存到磁盘。现在,我正在将应用程序升级到 .Net 2.0,我发现这个决定又让我…
C# - 如何使用对象中的列表覆盖 GetHashCode
我正在尝试创建一个“KeySet”来修改 UIElement 行为。这个想法是创建一个特殊的函数,例如:用户按住 a 的同时单击一个元素。或者ctrl+a。 到目前为…