Int32.CompareTo Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Сравнивает этот экземпляр с указанным 32-разрядным целым числом со знаком и возвращает указание их относительных значений.
Перегрузки
| Имя | Описание |
|---|---|
| CompareTo(Int32) |
Сравнивает этот экземпляр с указанным 32-разрядным целым числом со знаком и возвращает указание их относительных значений. |
| CompareTo(Object) |
Сравнивает этот экземпляр с указанным объектом и возвращает указание их относительных значений. |
CompareTo(Int32)
- Исходный код:
- Int32.cs
- Исходный код:
- Int32.cs
- Исходный код:
- 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# Microsoft создает инструкции для представления значения параметра в виде Int32, а затем создает метод Int32.CompareTo, который сравнивает значения экземпляра Int32 и представление параметра Int32.
Обратитесь к документации по языку программирования, чтобы определить, выполняет ли компилятор неявные преобразования расширения для числовых типов.
См. также раздел
Применяется к
CompareTo(Object)
- Исходный код:
- Int32.cs
- Исходный код:
- Int32.cs
- Исходный код:
- 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; в противном случае создается исключение.