IEqualityComparer.GetHashCode メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As IEqualityComparer(Of T) Dim obj As T Dim returnValue As Integer returnValue = instance.GetHashCode(obj)
戻り値
指定したオブジェクトのハッシュ コード。


Equals メソッドによる等値比較のカスタマイズに対応し、T 型のハッシュ コードをカスタマイズするには、このメソッドを実装します。
実装時の注意 Equals メソッドが x と y の 2 つのオブジェクトに対して true を返す場合には、必ず、GetHashCode メソッドから返される x の値と y の値が等しくなるように実装する必要があります。
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IEqualityComparer ジェネリック インターフェイス
IEqualityComparer メンバ
System.Collections.Generic 名前空間
Object.GetHashCode
IHashCodeProvider インターフェイス
IEqualityComparer.GetHashCode メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As IEqualityComparer Dim obj As Object Dim returnValue As Integer returnValue = instance.GetHashCode(obj)
戻り値
指定したオブジェクトのハッシュ コード。


Equals メソッドによる等値比較のカスタマイズに対応し、オブジェクトのハッシュ コードをカスタマイズするには、このメソッドを実装します。
実装時の注意 Equals メソッドが x と y の 2 つのオブジェクトに対して true を返す場合には、必ず、GetHashCode メソッドから返される x の値と y の値が等しくなるように実装する必要があります。
大文字と小文字を区別しない 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(); } };

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IEqualityComparer インターフェイス
IEqualityComparer メンバ
System.Collections 名前空間
Object.GetHashCode
System.Collections.IHashCodeProvider
- IEqualityComparer.GetHashCode メソッドのページへのリンク