IEqualityComparer.GetHashCode(Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 개체에 대한 해시 코드를 반환합니다.
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 은 참조 형식이며 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같아야 하므로 필요합니다.