问题标签 [gethashcode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 为什么返回 false ?新人(“詹姆斯”)==新人(“詹姆斯”)?
我已经覆盖GetHashCode
,Equals
并且两种方法都为不同的对象提供了相同的结果,但为什么仍然得到 false ?
c# - 对于 DateRange 类,什么是好的 hashCode
我有以下课程
我需要将一些值存储在以 DateRange 为键的字典中,例如:
我应该如何覆盖类的GetHashCode()
方法DateRange
?
c# - Gethashcode() 函数
为什么 C1 和 c2 没有相同的哈希码?代码没有达到“相同”....(两个类中的 i=0)
c# - 为什么 ValueType.GetHashCode() 是这样实现的?
从ValueType.cs
今天,当我使用 KeyValuePair 作为字典中的键时,我被这个咬了(它存储了 xml 属性名称(枚举)和它的值(字符串)),并期望它根据它的所有字段计算它的哈希码,但根据实现它只考虑了关键部分。
示例(来自 Linqpad 的 c/p):
我猜第一个非静态字段意味着声明顺序中的第一个字段,这也可能在出于任何原因更改源中的变量顺序时造成麻烦,并且相信它不会在语义上更改代码。
c# - 为 WCF 保留抽象方法服务器端的方法
我们正在强制执行所有域对象来实现 GetHashCode。
当我们通过 WCF 公开这些域对象时,以下生成的服务需要更新后修改才能编译。
关于如何保持对 GetHashCode 的要求,但删除客户端上任何代码的要求(作为更新或作为部分类)的任何想法?
wpf - wpf 在 ContentControl 中覆盖 getHashCode 和 Eqaul
您好我有一个派生自 ContentControl 的类,但我无法覆盖 GetHashCode 和 Equal 方法。我收到一个错误
错误 5 无法覆盖继承的成员 'System.Windows.DependencyObject.GetHashCode()' 因为它是密封的 有没有办法覆盖这个方法?我需要使用 LINQ 中的 Union 方法,但是我需要比较与正常情况不同的对象。有什么办法吗?
c# - GetHashCode 等式
我一直想知道这个,所以我想我会问它。
您将看到的大多数地方都使用与 GetHashCode 相同的语义逻辑来覆盖 Equals 以实现成员相等......但是它们通常使用不同的实现:
如果您正在为您的类型实现成员相等(假设存储在字典中),为什么不直接覆盖 GetHashCode 然后为 Equals 执行类似的操作:
c# - Double.GetHashCode 算法或覆盖
我有一个托管和非托管代码都运行的应用程序项目,我需要使用相同的算法来散列两个系统中的双精度值。所以要么我将覆盖 System.Double.GetHashCode() 要么在 C++ 代码中使用它的算法。我找不到 double.gethashcode 算法并决定重写该函数。但我遇到了一个奇怪的错误。
无法将 double 类型隐式转换为 System.Double
这是代码:
如果我取消注释第 2 行,我会得到无法将 type double 隐式转换为 System.Double 错误。如果我运行第 1 行,则不会发生错误,但覆盖的代码永远不会起作用。
也许这是我正在尝试的非常糟糕的事情。所以任何人都知道 double.getashcode 算法,所以我可以编写等效的 c++ 代码来获得确切的 int 值?
c# - 在 C# 中播种伪随机数生成器
我需要一个 C#Random
类实例的种子,并且我读到大多数人为此使用当前时间的滴答计数器。但这是一个 64 位的值,种子需要是一个 32 位的值。现在我认为GetHashCode()
返回 an 的方法int
应该为其对象提供合理分布的值,这可以用来避免仅使用滴答计数的低 32 位。但是,我找不到有关Int64
数据类型的 GetHashCode() 的任何信息。
所以,我知道这并不重要,但以下工作会像我想的那样好(我不能试错随机性),或者它可能与使用(int)DateTime.Now.Ticks
种子一样工作?或者它甚至可能更糟糕?谁能对此有所了解。
编辑:为什么我需要种子而不是让Random()
构造函数完成工作?我需要将种子发送给对相同随机序列使用相同种子的其他客户端。
c# - IEqualityComparer中GetHashCode的作用是什么在.NET 中?
我试图了解接口 IEqualityComparer 的 GetHashCode 方法的作用。
以下示例取自 MSDN:
Equals 方法实现不应该足以比较两个 Box 对象吗?这就是我们告诉框架用于比较对象的规则的地方。为什么需要 GetHashCode?
谢谢。
卢西安