System.Generics.Defaults.IEqualityComparer
Delphi
IEqualityComparer<T> = interface
C++
template<typename T> __interface IEqualityComparer__1 : public System::IInterface
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
interface class |
public | System.Generics.Defaults.pas System.Generics.Defaults.hpp |
System.Generics.Defaults | System.Generics.Defaults |
Beschreibung
IEqualityComparer ist das generische Interface, mit dem zwei Werte auf Gleichheit überprüft werden.
IEqualityComparer wird von Klassen implementiert, die einen Gleichheitsvergleich von zwei Werten desselben Typs unterstützen müssen. Generische Kollektionen benötigen Instanzen von Klassen, die das Interface IEqualityComparer implementieren, damit die Unterstützung für benutzerdefinierte Datentypen bereitgestellt werden kann. Die Methode Equals wird beispielsweise von TList zur Überprüfung verwendet, ob ein gegebener Wert in der Liste vorhanden ist. Neben der Überprüfung auf Gleichheit zweier Werte stellt IEqualityComparer auch eine GetHashCode-Methode bereit, mit der für jeden Wert ein Hash-Code erzeugt werden kann. GetHashCode wird ausgiebig in Hash-basierten Zuordnungsklassen, wie TDictionary, verwendet.
Anmerkung: Es wird empfohlen, die Klasse TEqualityComparer als Basis für benutzerdefinierte Vergleichsoperationen zu verwenden, anstatt das Interface IEqualityComparer direkt zu implementieren.
Siehe auch
- System.Generics.Defaults.TEqualityComparer
- System.Generics.Defaults.TEqualityComparer.operator ()
- System.Generics.Defaults.TDelegatedEqualityComparer
- System.Generics.Defaults.IComparer
Codebeispiele