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

C#のBoolean.GetHashCode()メソッドとは?使い方と実行例をわかりやすく解説

C#におけるBoolean.GetHashCode()メソッドは、現在のBoolean(真偽値)インスタンスに対応するハッシュコードを返すメソッドです。ハッシュコードは、ハッシュテーブルなどのデータ構造でオブジェクトを効率的に管理するために使用される整数値です。

なお、Boolean型の場合、trueのハッシュコードは「1」、falseのハッシュコードは「0」として返されます。これは仕様として定められているため、常に一定の結果が得られます。

構文

public override int GetHashCode();

使用例1

以下の例では、文字列とbool値に対してGetHashCode()メソッドを呼び出し、それぞれのハッシュコードを取得しています。

using System;

public class Demo {
   public static void Main(String[] args) {
      string str = "JackSparrow!";
      bool val = true;
      char[] arr = { 'J', 'a' };

      Console.WriteLine("String = " + str);
      Console.WriteLine("String (after trim) = " + str.Trim(arr));
      Console.WriteLine("String (Hashcode) = " + str.GetHashCode());
      Console.WriteLine("Bool (Hashcode) = " + val.GetHashCode());
   }
}

出力結果

String = JackSparrow!
String (after trim) = ckSparrow!
String (Hashcode) = -203134198
Bool (Hashcode) = 1

この例では、bool値がtrueであるため、ハッシュコードとして「1」が返されています。一方、文字列のハッシュコードは内容によって異なる値になります。

使用例2

次の例では、trueとfalseの2つのbool値について、ハッシュコードとTypeCodeをそれぞれ取得して比較しています。

using System;

public class Demo {
   public static void Main(String[] args) {
      bool val1 = true;
      bool val2 = false;

      Console.WriteLine("Value1 (Hashcode) = " + val1.GetHashCode());
      Console.WriteLine("Value1 (TypeCode) = " + val1.GetTypeCode());
      Console.WriteLine("Value2 (Hashcode) = " + val2.GetHashCode());
      Console.WriteLine("Value2 (TypeCode) = " + val2.GetTypeCode());
   }
}

出力結果

Value1 (Hashcode) = 1
Value1 (TypeCode) = Boolean
Value2 (Hashcode) = 0
Value2 (TypeCode) = Boolean

まとめ

Boolean.GetHashCode()メソッドを使うことで、真偽値に対応するハッシュコードを簡単に取得できます。trueは「1」、falseは「0」が返されるため、挙動は直感的で予測しやすいのが特徴です。ハッシュベースのコレクション(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