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

C#でDecimalインスタンスのハッシュコードを取得する方法

C#で現在のDecimalインスタンスのハッシュコードを取得するには、GetHashCode()メソッドを使用します。このメソッドは、オブジェクトを識別するための整数値(ハッシュコード)を返します。ハッシュコードは、HashtableDictionaryなどのハッシュテーブルベースのコレクションで、オブジェクトを効率的に格納・検索するために利用されます。

構文

public override int GetHashCode ();

戻り値は、現在のDecimalインスタンスに対応する32ビット符号付き整数のハッシュコードです。

例1:基本的な使い方

以下の例では、Decimal型の値に対してGetHashCode()メソッドを呼び出し、そのハッシュコードを表示しています。

using System;
public class Demo {
   public static void Main(){
      Decimal val = 135269.38193M;
      Console.WriteLine("Decimal Value = {0}", val);
      Console.WriteLine("HashCode = {0}", (val.GetHashCode()) );
   }
}

出力結果

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

Decimal Value = 135269.38193
HashCode = 1328665595

例2:Decimal.MaxValueの場合

続いて、Decimal型が表現できる最大値であるDecimal.MaxValueに対してハッシュコードを取得してみましょう。

using System;
public class Demo {
   public static void Main(){
      Decimal val = Decimal.MaxValue;
      Console.WriteLine("Decimal Value = {0}", val);
      Console.WriteLine("HashCode = {0}", (val.GetHashCode()) );
   }
}

出力結果

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

Decimal Value = 79228162514264337593543950335
HashCode = 1173356544

注意点

  • 同じ値を持つ2つのDecimalインスタンスは、必ず同じハッシュコードを返します。
  • 逆に、異なる値が異なるハッシュコードを返すことは保証されていません。ハッシュコードの一意性は保証されないため、等価性の判定にはEquals()メソッドを使用してください。
  • .NETのバージョンによってハッシュコードの算出アルゴリズムが変更される可能性があるため、ハッシュコードを永続化データとして保存することは避けてください。
  1. iOSアプリのバージョン番号とビルド番号をコードで取得する方法

    iOSアプリを開発する際、デフォルトではバージョンが「1.0」、ビルドが「0」として設定されています。App Storeに新しいビルドをアップロードするたびに、このバージョン番号を更新する必要があります。また、テスト用のビルドを作成する際には、ビルド番号だけを更新することもできます。これらのバージョン情報とビルド情報は、プロジェクト内の「Info.plist」ファイルに保存されており、Xcodeのターゲット設定画面から確認・編集することが可能です。バージョン番号やビルド番号が必要になるケースアプリ開発では、以下のような場面でプログラムからバージョンやビルド番号を取得したくなることがあります。新

  2. C#でInt64インスタンスのハッシュコードを取得する方法

    C#の Int64.GetHashCode() メソッドを使うと、現在のInt64(long型)インスタンスに対応するハッシュコードを取得できます。このメソッドは、ハッシュテーブルなどのデータ構造で値を効率的に管理する際に利用されます。GetHashCode()メソッドの基本GetHashCode()は、オブジェクトの値をもとに計算された32ビット整数のハッシュコードを返します。同じ値を持つInt64インスタンスは必ず同じハッシュコードを返しますが、異なる値が同じハッシュコードになる場合もあります(ハッシュの衝突)。サンプルコード1以下の例では、2つのlong型の値に対してハッシュコードを取得