StructuralComparisons.StructuralEqualityComparer プロパティ

定義

2 つのオブジェクトと構造の等価性を比較する定義済みのオブジェクトを取得します。

public:
 static property System::Collections::IEqualityComparer ^ StructuralEqualityComparer { System::Collections::IEqualityComparer ^ get(); };
public static System.Collections.IEqualityComparer StructuralEqualityComparer { get; }
static member StructuralEqualityComparer : System.Collections.IEqualityComparer
Public Shared ReadOnly Property StructuralEqualityComparer As IEqualityComparer

プロパティ値

構造の等価性のために 2 つのコレクション オブジェクトを比較するために使用される定義済みのオブジェクト。

注釈

このプロパティによって返される IEqualityComparer オブジェクトがコレクション オブジェクトの等値比較メソッド ( Array.IStructuralEquatable.Equals(Object, IEqualityComparer)Tuple<T1,T2,T3>.IStructuralEquatable.Equals(Object, IEqualityComparer)など) に渡されると、配列の各メンバーまたはタプルの各コンポーネントに対して、その IEqualityComparer.Equals メソッドが呼び出されます。 Equals メソッドのこの実装は、コレクション オブジェクトの各項目を別のコレクション オブジェクトの対応する項目と比較すると、次のように動作します。

  • 両方の項目が nullされている場合、2 つの項目が等しいと見なされます。

  • 1 つの項目が null で、もう一方の項目が null でない場合は、2 つの項目が等しくないと見なされます。

  • 比較の最初の項目を IStructuralEquatable オブジェクトにキャストできる場合 (つまり、 IStructuralEquatable インターフェイスを実装するコレクション オブジェクトの場合)、 IStructuralEquatable.Equals メソッドを呼び出します。

  • 比較の最初の項目を IStructuralEquatable オブジェクトにキャストできない場合 (つまり、 IStructuralEquatable インターフェイスを実装するコレクション オブジェクトでない場合)、項目の Equals メソッドを呼び出します。

適用対象

こちらもご覧ください