Int32.CompareTo Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Сравнивает данный экземпляр с заданным 32-битовым целым числом со знаком и возвращает значение, указывающее, как соотносятся их значения.
Перегрузки
CompareTo(Int32) |
Сравнивает данный экземпляр с заданным 32-битовым целым числом со знаком и возвращает значение, указывающее, как соотносятся их значения. |
CompareTo(Object) |
Сравнивает этот экземпляр с заданным объектом и возвращает значение, указывающее, как соотносятся значения этих объектов. |
CompareTo(Int32)
- Исходный код:
- Int32.cs
- Исходный код:
- Int32.cs
- Исходный код:
- Int32.cs
Сравнивает данный экземпляр с заданным 32-битовым целым числом со знаком и возвращает значение, указывающее, как соотносятся их значения.
public:
virtual int CompareTo(int value);
public int CompareTo (int value);
abstract member CompareTo : int -> int
override this.CompareTo : int -> int
Public Function CompareTo (value As Integer) As Integer
Параметры
- 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).
open System
type Comparison =
| LessThan = -1
| Equal = 0
| GreaterThan = 1
let mainValue = 16325
let zeroValue = 0
let negativeValue = -1934
let positiveValue = 903624
let sameValue = 16325
printfn $"Comparing {mainValue} and {zeroValue}: {mainValue.CompareTo zeroValue} ({enum<Comparison>(mainValue.CompareTo zeroValue)})."
printfn $"Comparing {mainValue} and {sameValue}: {mainValue.CompareTo sameValue} ({enum<Comparison>(mainValue.CompareTo sameValue)})."
printfn $"Comparing {mainValue} and {negativeValue}: {mainValue.CompareTo negativeValue} ({enum<Comparison>(mainValue.CompareTo negativeValue)})."
printfn $"Comparing {mainValue} and {positiveValue}: {mainValue.CompareTo positiveValue} ({enum<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).
Public Enum Comparison As Integer
LessThan = -1
Equal = 0
GreaterThan = 1
End Enum
Module ValueComparison
Public Sub Main()
Dim mainValue As Integer = 16325
Dim zeroValue As Integer = 0
Dim negativeValue As Integer = -1934
Dim positiveValue As Integer = 903624
Dim sameValue As Integer = 16325
Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _
mainValue, zeroValue, _
mainValue.CompareTo(zeroValue), _
CType(mainValue.CompareTo(zeroValue), Comparison))
Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _
mainValue, sameValue, _
mainValue.CompareTo(sameValue), _
CType(mainValue.CompareTo(sameValue), Comparison))
Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _
mainValue, negativeValue, _
mainValue.CompareTo(negativeValue), _
CType(mainValue.CompareTo(negativeValue), Comparison))
Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _
mainValue, positiveValue, _
mainValue.CompareTo(positiveValue), _
CType(mainValue.CompareTo(positiveValue), Comparison))
End Sub
End Module
' 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 представление параметра.
Ознакомьтесь с документацией по языку программирования, чтобы определить, выполняет ли его компилятор неявное расширение преобразований числовых типов.
См. также раздел
Применяется к
CompareTo(Object)
- Исходный код:
- Int32.cs
- Исходный код:
- Int32.cs
- Исходный код:
- Int32.cs
Сравнивает этот экземпляр с заданным объектом и возвращает значение, указывающее, как соотносятся значения этих объектов.
public:
virtual int CompareTo(System::Object ^ value);
public int CompareTo (object? value);
public int CompareTo (object value);
abstract member CompareTo : obj -> int
override this.CompareTo : obj -> int
Public Function CompareTo (value As Object) As Integer
Параметры
- value
- Object
Объект для сравнения или значение null
.
Возвращаемое значение
Число со знаком, представляющее относительные значения этого экземпляра и параметра value
.
Возвращаемое значение | Описание |
---|---|
Меньше нуля | Этот экземпляр меньше параметра value .
|
Нуль | Этот экземпляр и параметр value равны.
|
Больше нуля | Этот экземпляр больше параметра value или параметр value равен значению null .
|
Реализации
Исключения
Значение параметра value
не является объектом Int32.
Комментарии
Любой Int32экземпляр , независимо от его значения, считается больше .null
value
должен быть null
или экземпляром Int32; в противном случае возникает исключение.