Documentation for this section has not yet been entered.
When the IComparer object returned by this property is passed to the comparison method of a collection object, such as Array.System#Collections#IStructuralComparable#CompareTo(object, IComparer) or Tuple`3.System#Collections#IStructuralComparable#CompareTo(object, IComparer), its IComparer.Compare(object, object) method is called for each member of an array or for each component of a tuple. This implementation of the IComparer.Compare(object, object) 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 IStructuralComparable.CompareTo(object, IComparer) 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.