Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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.

Namespace:   System
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::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.

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.

System_CAPS_cautionCaution

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.

No code example is currently available or this language may not be supported.

Universal Windows Platform
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
Return to top
Show: