エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

IEquatable<T> インターフェイス

2013/12/12

2 つのインスタンスが等しいかどうかを判断するための型固有のメソッドを作成するために値型またはクラスで実装する、汎用の比較メソッドを定義します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public interface IEquatable<T>

型パラメーター

T

比較するオブジェクトの型。

IEquatable<T> 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドEquals現在のオブジェクトが、同じ型の別のオブジェクトと等しいかどうかを示します。
このページのトップへ

このインターフェイスは、数値クラスや文字列クラスなど、値を等式で比較できる型によって実装されます。値型やクラスでは、Equals メソッドを実装して、インスタンスの等価性を判断するのに適した型固有のメソッドを作成します。

メモメモ:

IComparable<T> インターフェイスには、実装している型のインスタンスの並べ替え順序を決定する CompareTo メソッドが定義されています。IEquatable<T> インターフェイスには、実装している型のインスタンスの等価性を決定する Equals メソッドが定義されています。

IEquatable<T> インターフェイスは、ContainsIndexOfLastIndexOfRemove などのメソッドで等価性テストを行う場合に、Dictionary<TKey, TValue>List<T>LinkedList<T> などのジェネリック コレクション オブジェクトによって使用されます。このインターフェイスは、ジェネリック コレクションに格納される可能性のある、すべてのオブジェクトで実装する必要があります。

実装時の注意

IEquatable<T> インターフェイスの型パラメーターを、このインターフェイスを実装する型に置き換えます。

IEquatable<T> を実装する場合、基本クラスの実装である Object.Equals(Object) および GetHashCode をオーバーライドし、それらの動作と IEquatable<T>.Equals メソッドの動作との間で一貫性を維持する必要があります。Object.Equals(Object) をオーバーライドする場合、オーバーライドされた実装はクラス内の静的な Equals(System.Object, System.Object) メソッドの呼び出しでも呼び出されます。これにより、Equals メソッドのすべての呼び出しで一貫した結果が返されることが保証されます。

IEquatable<T>.Equals メソッドの例を参照してください。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft