Int32.CompareTo Метод

Определение

Сравнивает данный экземпляр с заданным 32-битовым целым числом со знаком и возвращает значение, указывающее, как соотносятся их значения.

Перегрузки

CompareTo(Int32)

Сравнивает данный экземпляр с заданным 32-битовым целым числом со знаком и возвращает значение, указывающее, как соотносятся их значения.

CompareTo(Object)

Сравнивает этот экземпляр с заданным объектом и возвращает значение, указывающее, как соотносятся значения этих объектов.

CompareTo(Int32)

Исходный код:
Int32.cs
Исходный код:
Int32.cs
Исходный код:
Int32.cs

Сравнивает данный экземпляр с заданным 32-битовым целым числом со знаком и возвращает значение, указывающее, как соотносятся их значения.

public int CompareTo (int value);

Параметры

value
Int32

Целое число для сравнения.

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

Число со знаком, представляющее относительные значения этого экземпляра и параметра value.

Возвращаемое значение Описание
Меньше нуля Этот экземпляр меньше параметра value.
Нуль Этот экземпляр и параметр value равны.
Больше нуля Этот экземпляр больше параметра value.

Реализации

Примеры

В следующем примере демонстрируется Int32.CompareTo(Int32) метод. Помимо отображения значения, возвращаемого методом для четырех различных сравнений, он преобразует возвращаемое значение в член настраиваемого Comparison перечисления, значение которого также отображается.

using System;

enum Comparison {
   LessThan=-1, Equal=0, GreaterThan=1};

public class ValueComparison
{
   public static void Main()
   {
      int mainValue = 16325;
      int zeroValue = 0;
      int negativeValue = -1934;
      int positiveValue = 903624;
      int sameValue = 16325;

      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, zeroValue,
                        mainValue.CompareTo(zeroValue),
                        (Comparison) mainValue.CompareTo(zeroValue));

      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, sameValue,
                        mainValue.CompareTo(sameValue),
                        (Comparison) mainValue.CompareTo(sameValue));

      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, negativeValue,
                        mainValue.CompareTo(negativeValue),
                        (Comparison) mainValue.CompareTo(negativeValue));

      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, positiveValue,
                        mainValue.CompareTo(positiveValue),
                        (Comparison) mainValue.CompareTo(positiveValue));
   }
}
// The example displays the following output:
//       Comparing 16325 and 0: 1 (GreaterThan).
//       Comparing 16325 and 16325: 0 (Equal).
//       Comparing 16325 and -1934: 1 (GreaterThan).
//       Comparing 16325 and 903624: -1 (LessThan).

Комментарии

Этот метод реализует System.IComparable<T> интерфейс и работает немного лучше, чем метод , Int32.CompareTo так как ему не нужно преобразовывать value параметр в объект .

В зависимости от языка программирования можно накодировать метод, в котором CompareTo тип параметра имеет меньше битов (является более узким), чем тип экземпляра. Это возможно, так как некоторые языки программирования выполняют неявное расширяющее преобразование, представляющее параметр как тип с таким количеством битов, как экземпляр.

Например, предположим, что тип экземпляра — , Int32 а тип параметра — Byte. Компилятор Майкрософт C# создает инструкции для представления значения параметра в Int32виде , а затем создает Int32.CompareTo метод, который сравнивает значения экземпляра Int32 и Int32 представление параметра.

Ознакомьтесь с документацией по языку программирования, чтобы определить, выполняет ли его компилятор неявное расширение преобразований числовых типов.

См. также раздел

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

.NET 9 и другие версии
Продукт Версии
.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 2.0, 3.0, 3.5, 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

CompareTo(Object)

Исходный код:
Int32.cs
Исходный код:
Int32.cs
Исходный код:
Int32.cs

Сравнивает этот экземпляр с заданным объектом и возвращает значение, указывающее, как соотносятся значения этих объектов.

public int CompareTo (object? value);
public int CompareTo (object value);

Параметры

value
Object

Объект для сравнения или значение null.

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

Число со знаком, представляющее относительные значения этого экземпляра и параметра value.

Возвращаемое значение Описание
Меньше нуля Этот экземпляр меньше параметра value.
Нуль Этот экземпляр и параметр value равны.
Больше нуля Этот экземпляр больше параметра value или параметр value равен значению null.

Реализации

Исключения

Значение параметра value не является объектом Int32.

Комментарии

Любой Int32экземпляр , независимо от его значения, считается больше .null

value должен быть null или экземпляром Int32; в противном случае возникает исключение.

См. также раздел

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

.NET 9 и другие версии
Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 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 2.0, 2.1