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

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

See Also

Reference

Tuple<(Of <(T1>)>) Class

System Namespace

IStructuralEquatable..::.Equals