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

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

C#のUInt16.GetHashCode()メソッドは、現在のUInt16インスタンスに対応するハッシュコード(HashCode)を取得するために使用されます。ハッシュコードは、ハッシュテーブルなどのデータ構造でオブジェクトを効率的に管理・検索する際に活用される整数値です。

構文

UInt16.GetHashCode()メソッドの構文は以下の通りです。

public override int GetHashCode ();

このメソッドは引数を受け取らず、現在のインスタンスの値を表すint型のハッシュコードを返します。

使用例1

まず、基本的な実装例を見てみましょう。通常の値とUInt16.MinValue(最小値:0)のハッシュコードを取得します。

using System;
public class Demo {
   public static void Main(){
      ushort val1 = 100;
      ushort val2 = UInt16.MinValue;
      Console.WriteLine("val1のHashCode = "+val1.GetHashCode());
      Console.WriteLine("val2のHashCode = "+val2.GetHashCode());
   }
}

出力結果

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

val1のHashCode = 100
val2のHashCode = 0

このように、UInt16型の値に対してGetHashCode()メソッドを呼び出すと、その値自体がハッシュコードとして返されることがわかります。

使用例2

次に、別の例として、通常の値とUInt16.MaxValue(最大値:65535)を使用した場合を見てみましょう。

using System;
public class Demo {
   public static void Main(){
      ushort val1 = 50;
      ushort val2 = UInt16.MaxValue;
      Console.WriteLine("val1のHashCode = "+val1.GetHashCode());
      Console.WriteLine("val2のHashCode = "+val2.GetHashCode());
   }
}

出力結果

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

val1のHashCode = 50
val2のHashCode = 65535

まとめ

UInt16.GetHashCode()メソッドを使うことで、ushort型の値から簡単にハッシュコードを取得できます。UInt16型の場合、ハッシュコードは元の数値と同じ値になるため、直感的に理解しやすいのが特徴です。DictionaryやHashSetなど、ハッシュベースのコレクションを利用する際に内部的に活用される重要なメソッドです。

  1. C#のUInt16.Equalsメソッドとは?使い方をサンプルコード付きで解説

    C#のUInt16.Equals()メソッドは、現在のインスタンスが指定したオブジェクトまたはUInt16(16ビット符号なし整数)の値と等しいかどうかを示すbool値を返すメソッドです。構文UInt16.Equals()メソッドには、以下の2種類の構文があります。public override bool Equals (object ob); public bool Equals (ushort ob);1つ目の構文のパラメータobは、このインスタンスと比較する対象のオブジェクトです。2つ目の構文のパラメータobは、このインスタンスと比較する16ビット符号なし整数(ushort)です。戻り値

  2. C#のUInt16.CompareTo()メソッドの使い方をサンプルコード付きで解説

    C#のUInt16.CompareTo()メソッドは、現在のインスタンスと指定されたオブジェクトまたはUInt16値を比較し、両者の相対的な大小関係を示す整数値を返します。数値の大小判定やソート処理などで活用できる便利なメソッドです。 構文 UInt16.CompareTo()メソッドの構文は以下の2種類があります。 public int CompareTo (object val); public int CompareTo (ushort val); 1つ目の構文では、比較対象として任意のオブジェクトを引数に指定します。2つ目の構文では、比較対象として符号なし整数(ushort)を直接指定