Tuple<T1>::IStructuralComparable::CompareTo Method (Object^, IComparer^)
Compares the current Tuple<T1> object to a specified object by using a specified comparer, and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order.
Assembly: mscorlib (in mscorlib.dll)
private: virtual int CompareTo( Object^ other, IComparer^ comparer ) sealed = IStructuralComparable::CompareTo
Parameters
- other
-
Type:
System::Object^
An object to compare with the current instance.
- comparer
-
Type:
System.Collections::IComparer^
An object that provides custom rules for comparison.
Return Value
Type: System::Int32A signed integer that indicates the relative position of this instance and other in the sort order, as shown in the following table.
Value | Description |
|---|---|
A negative integer | This instance precedes other. |
Zero | This instance and other have the same position in the sort order. |
A positive integer | This instance follows other. |
| Exception | Condition |
|---|---|
| ArgumentException | other is not a Tuple<T1> object. |
Although this method can be called directly, it is most commonly called by collection sorting methods that include IComparer parameters to order the members of a collection. For example, it is called by the Array::Sort(Array^, IComparer^) method and the Add method of a SortedList object that is instantiated by using the SortedList::SortedList(IComparer^) constructor.
Caution |
|---|
The IStructuralComparable::CompareTo method is intended for use in sorting operations. It should not be used when the primary purpose of a comparison is to determine whether two objects are equal. To determine whether two objects are equal, call the IStructuralEquatable::Equals method. |
The following example defines a generic class named DescendingComparer that implements the IComparer<T> interface. DescendingComparer sorts objects in descending rather than ascending order by reversing the value returned by the default comparer for a particular type. An instance of the generic DescendingComparer class is then passed to the Array::Sort(Array^, IComparer^) method to sort an array of Tuple<T1> objects in descending order. Note that the example does not directly call the IStructuralComparable::CompareTo method. This method is called implicitly by the Array::Sort(Array^, IComparer^) method for each element in the array.
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
