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

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

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

構文

このメソッドの構文は以下の通りです。

public override int GetHashCode ();

パラメータと戻り値

Char.GetHashCode() メソッドは引数を受け取りません。戻り値として、現在の文字インスタンスのハッシュコードを表す int型(32ビット符号付き整数)の値を返します。

サンプルコード1

それでは、Char.GetHashCode() メソッドの基本的な使い方を、具体例を通じて確認してみましょう。

using System;
public class Demo {
    public static void Main(){
        char val = 'H';
        bool res;
        Console.WriteLine("val のハッシュコード = " + val.GetHashCode());
        res = val.Equals('d');
        Console.WriteLine("戻り値 = " + res);
    }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

val のハッシュコード = 4718664
戻り値 = False

この例では、変数 val に格納された文字「H」のハッシュコードが出力され、さらに Equals() メソッドを使って文字「d」と比較した結果(False)が表示されています。

サンプルコード2

続いて、別の文字を使用した例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        char val = 'm';
        bool res;
        Console.WriteLine("val のハッシュコード = " + val.GetHashCode());
        res = val.Equals('m');
        Console.WriteLine("戻り値 = " + res);
    }
}

実行結果

このコードを実行すると、以下の出力が得られます。

val のハッシュコード = 7143533
戻り値 = True

今回は同じ文字「m」同士を比較しているため、Equals() メソッドの戻り値は True になっています。

使用時の注意点

  • ハッシュコードの具体的な値は、.NETのバージョンや実行環境によって異なる場合があります。
  • そのため、取得したハッシュコードをファイルやデータベースに保存し、後から再利用することは避けてください。
  • ハッシュコードは同一プロセス内でのオブジェクト比較や、ハッシュベースのコレクション(Dictionary、HashSetなど)での利用を想定しています。
  1. C#のUInt64.GetHashCode()メソッドとは?構文と使い方をサンプルコード付きで解説

    C#のUInt64.GetHashCode()メソッドは、現在のUInt64(符号なし64ビット整数)インスタンスに対応するハッシュコードを取得するために使用されます。ハッシュコードは、ハッシュテーブルやディクショナリなどのデータ構造において、オブジェクトを効率的に検索・管理するために利用されるint型の数値です。構文UInt64.GetHashCode()メソッドの構文は以下のとおりです。public override int GetHashCode ();このメソッドは引数を受け取らず、呼び出し元のUInt64インスタンスのハッシュコードをint型の値として返します。使用例1:基本的な使い

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

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