Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

IEquatable<T>-Schnittstelle

 

Veröffentlicht: Juli 2016

Definiert eine generalisierte Methode, die von einem Werttyp oder von einer Klasse zur Erstellung einer typspezifischen Methode implementiert wird, um die Gleichheit von Instanzen zu ermitteln.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public interface IEquatable<T>

Typparameter

T

Der Typ der zu vergleichenden Objekte.

NameBeschreibung
System_CAPS_pubmethodEquals(T)

Gibt an, ob das aktuelle Objekt gleich einem anderen Objekt des gleichen Typs ist.

Diese Schnittstelle wird durch Typen implementiert, deren Werte (z. B. numerische und String-Klassen) gleichgesetzt werden können. Ein Werttyp oder von einer Klasse implementiert die Equals Methode um eine typspezifische Methode zum Bestimmen der Gleichheit von Instanzen zu erstellen.

System_CAPS_noteHinweis

Die IComparable<T> Schnittstelle definiert die CompareTo -Methode, die die Sortierreihenfolge von Instanzen des Implementierungstyps bestimmt. Die IEquatable<T> Schnittstelle definiert die Equals Methode, die die Gleichheit von Instanzen des Implementierungstyps bestimmt.

Die IEquatable<T> Schnittstelle wird von generischen Auflistungsobjekten verwendet, z. B. Dictionary<TKey, TValue>, List<T>, und LinkedList<T> beim Testen der Gleichheit in Methoden wie Contains, IndexOf, LastIndexOf, und Remove. Sie sollten für ein beliebiges Objekt implementiert werden, die in einer generischen Auflistung gespeichert werden kann.

Hinweise für Implementierer:

Ersetzen der Typparameter der IEquatable<T> Schnittstelle mit dem Typ, die diese Schnittstelle implementiert.

Wenn Sie implementieren IEquatable<T>, sollten Sie auch Implementierungen der Basisklasse überschreiben Object.Equals(Object) und GetHashCode , damit ihr Verhalten konsistent mit der ist die IEquatable<T>.Equals Methode. Wenn Sie außer Kraft setzen Object.Equals(Object), die überschriebene Implementierung ist die Abkürzung in Aufrufen der statischen Equals(System.Object, System.Object) Methode für Ihre Klasse. Darüber hinaus sollten Sie überladen der op_Equality und op_Inequality Operatoren. Dadurch wird sichergestellt, dass alle Tests Gleichheit konsistente Ergebnisse zurückgeben.

System_CAPS_noteHinweis

Informationen zum Überschreiben Equals(Object), finden Sie unter der Object.Equals(Object) Artikel.

Für einen Werttyp aufweist, sollten Sie immer implementieren IEquatable<T> und überschreiben Object.Equals(Object) für eine bessere Leistung. Object.EqualsWerttypen und basiert auf Reflektion, um zwei Werte hinsichtlich ihrer Gleichheit verglichen werden soll. Sowohl der Implementierung von Equals und Ihre Überschreibung Object.Equals konsistente Ergebnisse zurückgeben soll.

Wenn Sie implementieren IEquatable<T>, sollten Sie auch implementieren IComparable<T> Wenn Instanzen des Typs sortiert oder sortiert werden können. Wenn Ihr Typ implementiert IComparable<T>, Sie sollten auch immer implementieren IEquatable<T>.

Siehe das Beispiel für die IEquatable<T>.Equals Methode.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: