Tuple<T1,T2,T3,T4,T5,T6>.IComparable.CompareTo(Object) Метод

Определение

Сравнивает текущий объект Tuple<T1,T2,T3,T4,T5,T6> с заданным объектом и возвращает целое число, указывающее, находится ли текущий объект в той же позиции, что и указанный объект, после него или перед ним в порядке сортировки.

int IComparable.CompareTo (object obj);

Параметры

obj
Object

Объект для сравнения с текущим экземпляром.

Возвращаемое значение

Целое число со знаком, определяющее относительное положение экземпляра и параметра obj в порядке сортировки, как показано в следующей таблице.

Значение Описание
Отрицательное целое число Данный экземпляр предшествует параметру obj.
Нуль У этого экземпляра та же позиция в порядке сортировки, что и у obj.
Положительное целое число Данный экземпляр стоит после параметра obj.

Реализации

Исключения

obj не является объектом Tuple<T1,T2,T3,T4,T5,T6>.

Примеры

В следующем примере создается массив объектов, содержащих данные о населении Tuple<T1,T2,T3,T4,T5,T6> для трех городов в США с 1960 по 2000 год. Шесть компонентов состоят из названия города, за которым следует население города с 10-летними интервалами с 1960 по 2000 год. В примере отображаются компоненты каждого кортежа в массиве в несортированном порядке, выполняется сортировка массива, а затем вызывается метод для отображения каждого кортежа ToString в упорядоченном порядке. В выходных данных показано, что массив был отсортирован по имени, которое является первым компонентом. Обратите внимание, что в примере метод не вызывается IComparable.CompareTo(Object) напрямую. Этот метод вызывается неявно методом Sort(Array) для каждого элемента в массиве.

using System;

public class Example
{
   public static void Main()
   {
      // Create array of sextuple with population data for three U.S. 
      // cities, 1960-2000.
      Tuple<string, int, int, int, int, int>[] cities = 
          { Tuple.Create("Los Angeles", 2479015, 2816061, 2966850, 3485398, 3694820),
            Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278),  
            Tuple.Create("Chicago", 3550904, 3366957, 3005072, 2783726, 2896016) }; 
      
      // Display array in unsorted order.
      Console.WriteLine("In unsorted order:");
      foreach (var city in cities)
         Console.WriteLine(city.ToString());

      Console.WriteLine();
      
      Array.Sort(cities);
                           
      // Display array in sorted order.
      Console.WriteLine("In sorted order:");
      foreach (var city in cities)
         Console.WriteLine(city.ToString());
   }
}
// The example displays the following output:
//    In unsorted order:
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    
//    In sorted order:
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)

Комментарии

Этот член представляет собой явную реализацию члена интерфейса. Он может использоваться, только если экземпляр Tuple<T1,T2,T3,T4,T5,T6> приведен к типу интерфейса IComparable.

Этот метод предоставляет реализацию IComparable.CompareTo для Tuple<T1,T2,T3,T4,T5,T6> класса . Хотя метод можно вызывать напрямую, он чаще всего вызывается перегрузками по умолчанию методов сортировки коллекций, таких как Array.Sort(Array) и SortedList.Add, для упорядочения элементов коллекции.

Назар аударыңыз!

Метод IComparable.CompareTo предназначен для использования в операциях сортировки. Его не следует использовать, если основная цель сравнения заключается в том, чтобы определить, равны ли два объекта. Чтобы определить, равны ли два объекта, вызовите Tuple<T1,T2,T3,T4,T5,T6>.Equals(Object) метод .

Метод IComparable.CompareTo(Object) использует компаратор объектов по умолчанию для сравнения каждого компонента.

Применяется к

Өнім Нұсқалар
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0