StructuralComparisons.StructuralComparer Property

Definition

Gets a predefined object that performs a structural comparison of two objects.

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

Property Value

A predefined object that is used to perform a structural comparison of two collection objects.

Remarks

When the IComparer object returned by this property is passed to the comparison method of a collection object, such as Array.IStructuralComparable.CompareTo(Object, IComparer) or Tuple<T1,T2,T3>.IStructuralComparable.CompareTo(Object, IComparer), its Compare method is called for each member of an array or for each component of a tuple. This implementation of the Compare method behaves as follows when it compares each item of a collection object with the corresponding item of another collection object:

  • It considers two items that are null to be equal, and considers a null item to be less than an item that is not null.

  • If the first item in the comparison can be cast to an IStructuralComparable object (in other words, if it is a collection object that implements the IStructuralComparable interface), it calls the CompareTo method.

  • If the first item in the comparison cannot be cast to an IStructuralComparable object (in other words, if it is not a collection object that implements the IStructuralComparable interface), it calls the Comparer.Default.Compare method.

Applies to

See also