IEqualityComparer.Equals(Object, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bestimmt, ob die angegebenen Objekte gleich sind.
public:
bool Equals(System::Object ^ x, System::Object ^ y);
public bool Equals(object x, 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
Parameter
- x
- Object
Das erste zu vergleichende Objekt.
- y
- Object
Das zweite zu vergleichende Objekt.
Gibt zurück
truewenn die angegebenen Objekte gleich sind; andernfalls . false
Ausnahmen
x und y sind von unterschiedlichen Typen, und keiner kann Vergleiche mit dem anderen behandeln.
Beispiele
Im folgenden Codebeispiel wird die Implementierung einer Groß-/Kleinschreibung veranschaulicht IEqualityComparer. In diesem Beispiel wird die CaseInsensitiveComparer.Compare Methode verwendet, um zu bestimmen, ob zwei Objekte gleich sind, basierend auf der bereitgestellten 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
Hinweise
Implementieren Sie diese Methode, um einen angepassten Gleichheitsvergleich für Objekte bereitzustellen.
Hinweise für Ausführende
Die Equals(Object, Object) Methode ist reflexiv, symmetrisch und transitiv. Das heißt, es wird zurückgegebentrue, wenn es verwendet wird, um ein Objekt mit sich selbst zu vergleichen; true für zwei Objekte x undy, wenn es true für y und x; und true für zwei Objekte x ist z und true ob es für x und y und für true und y.z
Implementierungen sind erforderlich, um sicherzustellen, dass, wenn die Equals(Object, Object) Methode für zwei Objekte true zurückgibtx, und yder von der GetHashCode(Object) Methode x zurückgegebene Wert muss dem wert entsprechen, für yden zurückgegeben wird.