タグ付けされた質問 「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()同じインスタンスを指す2つの参照で同じです。ただし、2つの異なるインスタンスが(かなり簡単に)同じハッシュコードを取得できます。 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)) …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.