Int32.CompareTo Int32.CompareTo Int32.CompareTo Int32.CompareTo Method

Определение

Сравнивает этот экземпляр с заданным объектом или объектом типа Int32 и возвращает значение, указывающее, как соотносятся значения этих объектов.Compares this instance to a specified object or Int32 and returns an indication of their relative values.

Перегрузки

CompareTo(Int32) CompareTo(Int32) CompareTo(Int32) CompareTo(Int32)

Сравнивает данный экземпляр с заданным 32-битовым целым числом со знаком и возвращает значение, указывающее, как соотносятся их значения.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Сравнивает этот экземпляр с заданным объектом и возвращает значение, указывающее, как соотносятся значения этих объектов.Compares this instance to a specified object and returns an indication of their relative values.

CompareTo(Int32) CompareTo(Int32) CompareTo(Int32) CompareTo(Int32)

Сравнивает данный экземпляр с заданным 32-битовым целым числом со знаком и возвращает значение, указывающее, как соотносятся их значения.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

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 Int32 Int32 Int32

Целое число для сравнения.An integer to compare.

Возвраты

Знаковое число, представляющее относительные значения этого экземпляра и параметра value.A signed number indicating the relative values of this instance and value.

Возвращаемое значениеReturn Value ОписаниеDescription
Меньше нуляLess than zero Этот экземпляр меньше параметра value.This instance is less than value.
НульZero Этот экземпляр и параметр value равны.This instance is equal to value.
Больше нуляGreater than zero Этот экземпляр больше параметра value.This instance is greater than value.

Реализации

Примеры

В следующем примере демонстрируется Int32.CompareTo(Int32) метод.The following example demonstrates the Int32.CompareTo(Int32) method. Помимо отображения значение, возвращаемое методом для четырех различных сравнений, возвращаемое значение преобразуется к элементу пользовательского Comparison перечисления, значение которого также отображает.In addition to displaying the value returned by the method for four different comparisons, it converts the return value to a member of the custom Comparison enumeration, whose value it also displays.

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).
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 параметр объекта.This method implements the System.IComparable<T> interface and performs slightly better than the Int32.CompareTo method because it does not have to convert the value parameter to an object.

Языках программирования, могут быть доступны коду CompareTo метода, где параметр типа имеет меньшее число битов (является более коротким) от экземпляра типа.Depending on your programming language, it might be possible to code a CompareTo method where the parameter type has fewer bits (is narrower) than the instance type. Это возможно, так как некоторые языки программирования выполняют неявное расширяющее преобразование, представляющий параметр как тип до количества бит, что и экземпляр.This is possible because some programming languages perform an implicit widening conversion that represents the parameter as a type with as many bits as the instance.

Предположим, например, тип экземпляра является Int32 и тип параметра является Byte.For example, suppose the instance type is Int32 and the parameter type is Byte. Компилятор Microsoft C# создает инструкции для представления значения параметра, как Int32, затем создает Int32.CompareTo метод, который сравнивает значения Int32 экземпляра и Int32 представление параметра.The Microsoft C# compiler generates instructions to represent the value of the parameter as an Int32, then generates a Int32.CompareTo method that compares the values of the Int32 instance and the Int32 parameter representation.

Обратитесь к документации язык программирования, чтобы определить, выполняет ли компилятор неявные расширяющие преобразования числовых типов.Consult your programming language's documentation to determine whether its compiler performs implicit widening conversions on numeric types.

Дополнительно

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Сравнивает этот экземпляр с заданным объектом и возвращает значение, указывающее, как соотносятся значения этих объектов.Compares this instance to a specified object and returns an indication of their relative values.

public:
 virtual int CompareTo(System::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 Object Object Object

Объект для сравнения или значение null.An object to compare, or null.

Возвраты

Знаковое число, представляющее относительные значения этого экземпляра и параметра value.A signed number indicating the relative values of this instance and value.

Возвращаемое значениеReturn Value ОписаниеDescription
Меньше нуляLess than zero Этот экземпляр меньше параметра value.This instance is less than value.
НульZero Этот экземпляр и параметр value равны.This instance is equal to value.
Больше нуляGreater than zero Этот экземпляр больше параметра value.This instance is greater than value. -или--or- valuenull.value is null.

Реализации

Исключения

Параметр value не является классом Int32.value is not an Int32.

Комментарии

Любой экземпляр Int32, независимо от того, его значение считается больше, чем null.Any instance of Int32, regardless of its value, is considered greater than null.

value должно быть null или экземпляр Int32; в противном случае создается исключение.value must be null or an instance of Int32; otherwise, an exception is thrown.

Дополнительно

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