エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

ValueType.GetHashCode メソッド

2013/12/12

このインスタンスのハッシュ コードを返します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public override int GetHashCode()

戻り値

型: System.Int32
このインスタンスのハッシュ コードである 32 ビット符号付き整数。

GetHashCode メソッドは、ValueType から派生した型に適用されます。派生型の 1 つ以上のフィールドを使用して、戻り値が計算されます。派生型の GetHashCode メソッドを呼び出した場合、戻り値はハッシュ テーブル内のキーとしての使用には適していない可能性があります。また、派生型の 1 つ以上のフィールドの値を変更した場合にも、戻り値はハッシュ コード内のキーとしての使用には適さなくなる可能性があります。どちらの場合でも、型のハッシュ コードの概念をより厳密に表現する、GetHashCode メソッドの独自の実装を記述することを検討してください。

詳細については、Object.GetHashCode を参照してください。

派生した値型で GetHashCode メソッドをオーバーライドする方法を次の例に示します。


public struct Complex
{
   public double m_Re;
   public double m_Im;

   public override bool Equals(object ob)
   {
      if (ob is Complex)
      {
         Complex c = (Complex)ob;
         return m_Re == c.m_Re && m_Im == c.m_Im;
      }
      else
      {
         return false;
      }
   }

   public override int GetHashCode()
   {
      return m_Re.GetHashCode() ^ m_Im.GetHashCode();
   }
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2015 Microsoft