Tuple<(Of <(T1>)>).IStructuralComparable.CompareTo Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Compares the current Tuple<(Of <(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.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
Private Function CompareTo ( _
other As Object, _
comparer As IComparer _
) As Integer Implements IStructuralComparable.CompareTo
int IStructuralComparable.CompareTo(
Object other,
IComparer comparer
)
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..::.Int32
A 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. |
Implements
IStructuralComparable..::.CompareTo(Object, IComparer)
Exceptions
| Exception | Condition |
|---|---|
| ArgumentException | other is not a Tuple<(Of <(T1>)>) object. |
Remarks
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.
Warning
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.
Examples
The following example defines a generic class named DescendingComparer that implements the IComparer<(Of <(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<(Of <(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.
Version Information
Windows Phone OS
Supported in: 8.1, 8.0