StructuralComparisons.StructuralEqualityComparer Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a predefined object that compares two objects for structural equality.
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
Property Value
A predefined object that is used to compare two collection objects for structural equality.
Remarks
When the IEqualityComparer object returned by this property is passed to the equality comparison method of a collection object, such as Array.IStructuralEquatable.Equals(Object, IEqualityComparer) or Tuple<T1,T2,T3>.IStructuralEquatable.Equals(Object, IEqualityComparer), its IEqualityComparer.Equals method is called for each member of an array or for each component of a tuple. This implementation of the Equals method behaves as follows when it compares each item of a collection object with the corresponding item of another collection object:
If both items are
null
, it considers the two items to be equal.If one item is null but the other item is not, it considers the two items to be unequal.
If the first item in the comparison can be cast to an IStructuralEquatable object (in other words, if it is a collection object that implements the IStructuralEquatable interface), it calls the IStructuralEquatable.Equals method.
If the first item in the comparison cannot be cast to an IStructuralEquatable object (in other words, if it is not a collection object that implements the IStructuralEquatable interface), it calls the item's
Equals
method.