ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>::IStructuralComparable::CompareTo Method (Object^, IComparer^)

 

Compares the current ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> instance 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^

The 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 able.

Vaue

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.

This member is an explicit interface implementation. It can only be used when the ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> instance is cast to an IStructuralComparable interface.

This method lets you define customized comparisons of ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> objects. For example, you can use this method to order ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> objects based on the value of a specific component.

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.

.NET Framework
Available since 4.7
Return to top
Show: