IEqualityComparer.Equals(Object, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 개체가 같은지 여부를 확인합니다.
public:
bool Equals(System::Object ^ x, System::Object ^ y);
public bool Equals(object x, object y);
abstract member Equals : obj * obj -> bool
Public Function Equals (x As Object, y As Object) As Boolean
매개 변수
- x
- Object
비교할 첫 번째 개체입니다.
- y
- Object
비교할 두 번째 개체입니다.
반품
예외
x 형식 y 이 다르고 둘 다 다른 형식과의 비교를 처리할 수 없습니다.
예제
다음 코드 예제에서는 대/소문자를 구분 IEqualityComparer하지 않는 구현을 보여 줍니다. 이 예제 CaseInsensitiveComparer.Compare 에서 메서드는 제공된 CultureInfo개체에 따라 두 개체가 같은지 여부를 확인하는 데 사용됩니다.
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(Object, Object) 메서드는 반사적이고 대칭적이며 전이적입니다. 즉, 개체를 자체와 비교하는 데 사용되는 경우 반환 true 됩니다. 두 개체의 경우true, y 두 개체 x 에 대한 yxtrue 개체이고 두 개체 truezx 에 대한 개체이고, 개체에 대한 개체이고, 개체에 대한 개체이고, 개체에 대한 개체인지와 true 개체에 대한 개체인지와 개체에 대한 개체인지, 그리고 개체에 xy 대한 개체인지와 개체에 대한 개체인지에 대한 zy 값입니다. true
구현은 메서드가 두 개체 x 에 대해 반환 true 되는 경우 Equals(Object, Object) 메서드가 반환하는 xGetHashCode(Object) 값이 반환y되는 값과 y같아야 하므로 필요합니다.