IEqualityComparer.GetHashCode(Object) 메서드

정의

지정된 개체에 대한 해시 코드를 반환합니다.

public:
 int GetHashCode(System::Object ^ obj);
public int GetHashCode(object obj);
abstract member GetHashCode : obj -> int
Public Function GetHashCode (obj As Object) As Integer

매개 변수

obj
Object

Object 해시 코드를 반환할 대상입니다.

반품

지정된 개체에 대한 해시 코드입니다.

예외

형식 obj 은 참조 형식이며 objnull.

예제

다음 코드 예제에서는 대/소문자를 구분 IEqualityComparer하지 않는 구현을 보여 줍니다. 이 예제에서 메서드는 GetHashCode 형식에서 제공하는 해시 코드를 반환합니다 Object .

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)
    {
        return myComparer.Compare(x, y) == 0;
    }

    public int GetHashCode(object obj)
    {
        return obj.ToString().ToLower().GetHashCode();
    }
}
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

        Return myComparer.Compare(x, y) = 0
    End Function

    Public Function GetHashCode1(ByVal obj As Object) _
        As Integer Implements IEqualityComparer.GetHashCode
        Return obj.ToString().ToLower().GetHashCode()
    End Function
End Class

설명

메서드에서 제공하는 사용자 지정 같음 비교에 해당하는 개체에 대한 사용자 지정 해시 코드를 제공하려면 이 메서드를 Equals 구현합니다.

구현자 참고

구현은 메서드가 두 개체 x 에 대해 반환 true 되는 경우 Equals(Object, Object) 메서드가 반환하는 xGetHashCode(Object) 값이 반환y되는 값과 y같아야 하므로 필요합니다.

적용 대상

추가 정보