C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のUInt64.GetHashCode()メソッドとは?構文と使い方をサンプルコード付きで解説

C#のUInt64.GetHashCode()メソッドは、現在のUInt64(符号なし64ビット整数)インスタンスに対応するハッシュコードを取得するために使用されます。ハッシュコードは、ハッシュテーブルやディクショナリなどのデータ構造において、オブジェクトを効率的に検索・管理するために利用されるint型の数値です。

構文

UInt64.GetHashCode()メソッドの構文は以下のとおりです。

public override int GetHashCode ();

このメソッドは引数を受け取らず、呼び出し元のUInt64インスタンスのハッシュコードをint型の値として返します。

使用例1:基本的な使い方

まず、UInt64.GetHashCode()メソッドの基本的な使用例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        ulong val1 = 8768768;
        ulong val2 = UInt64.MinValue;
        Console.WriteLine("HashCode for val1 = "+val1.GetHashCode());
        Console.WriteLine("HashCode for val2 = "+val2.GetHashCode());
    }
}

出力

このプログラムを実行すると、次のような出力が得られます。

HashCode for val1 = 8768768
HashCode for val2 = 0

val1にはint型の範囲内の値が格納されているため、その値がそのままハッシュコードとして返されています。一方、val2はUInt64.MinValue(つまり0)であるため、ハッシュコードも0になります。

使用例2:UInt64.MaxValueの場合

続いて、UInt64.MaxValueを使用した別の例を確認してみましょう。

using System;
public class Demo {
    public static void Main(){
        ulong val1 = 89879878;
        ulong val2 = UInt64.MaxValue;
        Console.WriteLine("HashCode for val1 = "+val1.GetHashCode());
        Console.WriteLine("HashCode for val2 = "+val2.GetHashCode());
    }
}

出力

このプログラムを実行すると、次のような出力が得られます。

HashCode for val1 = 89879878
HashCode for val2 = 0

UInt64.MaxValueのようにint型の範囲を超える大きな値の場合、上位32ビットと下位32ビットを組み合わせた内部計算によってハッシュコードが求められるため、元の値とは異なる結果が返される点に注意してください。このようにGetHashCode()メソッドは、値そのものではなく、ハッシュアルゴリズムに基づいて生成された一意性のある数値を返します。

  1. C#のUInt64.CompareTo()メソッドとは?構文と使い方を実例付きで解説

    C#のUInt64.CompareTo()メソッドは、現在のインスタンス(呼び出し元のUInt64値)と、指定されたオブジェクトまたはUInt64値を比較し、両者の相対的な大小関係を示す整数値を返すメソッドです。UInt64型は64ビットの符号なし整数(範囲:0 ~ 18,446,744,073,709,551,615)を表すため、大きな正の数値同士の比較に適しています。構文UInt64.CompareTo()メソッドには、以下の2つのオーバーロードがあります。public int CompareTo(object val); public int CompareTo(ulong val);1

  2. 【C#入門】UInt16.GetHashCode()メソッドの使い方を実例付きで解説

    C#のUInt16.GetHashCode()メソッドは、現在のUInt16インスタンスに対応するハッシュコード(HashCode)を取得するために使用されます。ハッシュコードは、ハッシュテーブルなどのデータ構造でオブジェクトを効率的に管理・検索する際に活用される整数値です。構文UInt16.GetHashCode()メソッドの構文は以下の通りです。public override int GetHashCode ();このメソッドは引数を受け取らず、現在のインスタンスの値を表すint型のハッシュコードを返します。使用例1まず、基本的な実装例を見てみましょう。通常の値とUInt16.MinVal