Questions tagged «gethashcode»

20
重写GetHashCode的最佳算法是什么?
在.NET中,该GetHashCode方法整个.NET基类库中的许多地方都使用。正确实施它对于在集合中或确定相等性时快速查找项目尤为重要。 有没有关于如何GetHashCode为我的自定义类实现的标准算法或最佳实践,因此我不会降低性能?

6
Object.GetHashCode()的默认实现
默认实现如何GetHashCode()工作?它是否有效,足够好地处理结构,类,数组等? 我正在尝试确定在什么情况下应该打包自己的产品,以及在什么情况下我可以安全地依靠默认实现来做得很好。如果有可能,我不想重新发明轮子。
162 .net  hash  gethashcode 

3
.NET中IEqualityComparer <T>中GetHashCode的作用是什么?
我试图了解IEqualityComparer接口的GetHashCode方法的作用。 以下示例来自MSDN: using System; using System.Collections.Generic; class Example { static void Main() { try { BoxEqualityComparer boxEqC = new BoxEqualityComparer(); Dictionary&lt;Box, String&gt; boxes = new Dictionary&lt;Box, string&gt;(boxEqC); Box redBox = new Box(4, 3, 4); Box blueBox = new Box(4, 3, 4); boxes.Add(redBox, "red"); boxes.Add(blueBox, "blue"); Console.WriteLine(redBox.GetHashCode()); Console.WriteLine(blueBox.GetHashCode()); } catch (ArgumentException …

11
.NET唯一对象标识符
有没有办法获取实例的唯一标识符? GetHashCode()指向相同实例的两个引用是相同的。但是,两个不同的实例可以(很容易)获得相同的哈希码: Hashtable hashCodesSeen = new Hashtable(); LinkedList&lt;object&gt; l = new LinkedList&lt;object&gt;(); int n = 0; while (true) { object o = new object(); // Remember objects so that they don't get collected. // This does not make any difference though :( l.AddFirst(o); int hashCode = o.GetHashCode(); n++; if (hashCodesSeen.ContainsKey(hashCode)) …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.