다음을 통해 공유


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 .

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();
    }
};
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) 에 대해 반환된 값이 에 x 대해 y반환된 GetHashCode(Object) 값과 y같아야 합니다.

적용 대상

추가 정보