IEqualityComparer.GetHashCodeとは? わかりやすく解説

IEqualityComparer.GetHashCode メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

指定したオブジェクトのハッシュ コードを返します。

名前空間: System.Collections.Generic
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Function GetHashCode ( _
    obj As T _
) As Integer
Dim instance As IEqualityComparer(Of
 T)
Dim obj As T
Dim returnValue As Integer

returnValue = instance.GetHashCode(obj)
int GetHashCode (
    T obj
)
int GetHashCode (
    T obj
)
int GetHashCode (
    T obj
)
function GetHashCode (
    obj : T
) : int

パラメータ

obj

ハッシュ コードが返される対象の Object。

戻り値
指定したオブジェクトのハッシュ コード。

例外例外
例外の種類条件

ArgumentNullException

obj の型が参照型で、obj が null 参照 (Visual Basic では Nothing) です。

解説解説

Equals メソッドによる等値比較のカスタマイズに対応し、T 型のハッシュ コードをカスタマイズするには、このメソッドを実装します。

実装時の注意 Equals メソッドが x と y の 2 つのオブジェクトに対して true を返す場合には、必ず、GetHashCode メソッドから返される x の値と y の値が等しくなるように実装する必要があります。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IEqualityComparer ジェネリック インターフェイス
IEqualityComparer メンバ
System.Collections.Generic 名前空間
Object.GetHashCode
IHashCodeProvider インターフェイス

IEqualityComparer.GetHashCode メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

指定したオブジェクトのハッシュ コードを返します。

名前空間: System.Collections
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

例外例外
例外の種類条件

ArgumentNullException

obj の型が参照型で、obj が null 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

大文字と小文字を区別しない IEqualityComparer の実装方法を次のコード例に示します。この例では、GetHashCode メソッドは Object 型によって得られるハッシュ コードを返します。

Public Class myCultureComparer
    Implements IEqualityComparer

    Dim myComparer As CaseInsensitiveComparer

    Public Sub New()
        myComparer = CaseInsensitiveComparer.DefaultInvariant
    End Sub

    Public Sub New(ByVal
 myCulture As CultureInfo)
        myComparer = New CaseInsensitiveComparer(myCulture)
    End Sub

    Public Function Equals1(ByVal
 x As Object, ByVal y As
 Object) _
        As Boolean Implements
 IEqualityComparer.Equals

        If (myComparer.Compare(x, y) = 0) Then
            Return True
        Else
            Return False
        End If
    End Function

    Public Function GetHashCode1(ByVal
 obj As Object) _
        As Integer Implements
 IEqualityComparer.GetHashCode
        Return obj.ToString().ToLower().GetHashCode()
    End Function
End Class
class myCultureComparer : IEqualityComparer
{
    public CaseInsensitiveComparer myComparer;

    public myCultureComparer()
    {
        myComparer = CaseInsensitiveComparer.DefaultInvariant;
    }

    public myCultureComparer(CultureInfo myCulture)
    {
        myComparer = new CaseInsensitiveComparer(myCulture);
    }

    public new bool Equals(object
 x, object y)
    {
        if (myComparer.Compare(x, y) == 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    public int GetHashCode(object obj)
    {
        return obj.ToString().ToLower().GetHashCode();
    }
}
ref class myCultureComparer : IEqualityComparer
{
private:
    CaseInsensitiveComparer^ myComparer;

public:
    myCultureComparer()
    {
        myComparer = CaseInsensitiveComparer::DefaultInvariant;
    }

    myCultureComparer(CultureInfo^ myCulture)
    {
        myComparer = gcnew CaseInsensitiveComparer(myCulture);
    }

    virtual bool Equals(Object^ x, Object^ y) 
    {
        if (myComparer->Compare(x, y) == 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    virtual int GetHashCode(Object^ obj)
    {
        return obj->ToString()->ToLower()->GetHashCode();
    }
};
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IEqualityComparer インターフェイス
IEqualityComparer メンバ
System.Collections 名前空間
Object.GetHashCode
System.Collections.IHashCodeProvider



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「IEqualityComparer.GetHashCode」の関連用語

IEqualityComparer.GetHashCodeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IEqualityComparer.GetHashCodeのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS