Int32.CompareTo Método

Definición

Compara esta instancia con un objeto especificado o con un objeto Int32 y devuelve una indicación de sus valores relativos.Compares this instance to a specified object or Int32 and returns an indication of their relative values.

Sobrecargas

CompareTo(Int32)

Compara esta instancia con un entero de 32 bits con signo y devuelve una indicación de los valores relativos.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

CompareTo(Object)

Compara esta instancia con un objeto especificado y devuelve una indicación de los valores relativos.Compares this instance to a specified object and returns an indication of their relative values.

CompareTo(Int32)

Compara esta instancia con un entero de 32 bits con signo y devuelve una indicación de los valores relativos.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

Parámetros

value
Int32

Entero que se va a comparar.An integer to compare.

Devoluciones

Número con signo que indica los valores relativos de esta instancia y value.A signed number indicating the relative values of this instance and value.

Valor devueltoReturn Value DescripciónDescription
Menor que ceroLess than zero Esta instancia es menor que value.This instance is less than value.
CeroZero Esta instancia es igual a value.This instance is equal to value.
Mayor que ceroGreater than zero Esta instancia es mayor que value.This instance is greater than value.

Implementaciones

Ejemplos

En el siguiente ejemplo se Int32.CompareTo(Int32) muestra el método.The following example demonstrates the Int32.CompareTo(Int32) method. Además de mostrar el valor devuelto por el método para cuatro comparaciones diferentes, convierte el valor devuelto en un miembro de la enumeración personalizada Comparison , cuyo valor también se muestra.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).

Comentarios

Este método implementa la System.IComparable<T> interfaz y se ejecuta ligeramente mejor que el Int32.CompareTo método, ya que no tiene que convertir el value parámetro en un objeto.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.

Dependiendo del lenguaje de programación, es posible que se pueda codificar un CompareTo método en el que el tipo de parámetro tenga menos bits (es más estrecho) que el tipo de instancia.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. Esto es posible porque algunos lenguajes de programación realizan una conversión de ampliación implícita que representa el parámetro como un tipo con tantos bits como instancia.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.

Por ejemplo, supongamos que el Int32 tipo de instancia es y Byteel tipo de parámetro es.For example, suppose the instance type is Int32 and the parameter type is Byte. El compilador de Microsoft C# genera instrucciones para representar el valor del parámetro Int32como y, a Int32.CompareTo continuación, genera un método que compara los Int32 valores de la Int32 instancia y el parámetro. representaciones.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.

Consulte la documentación del lenguaje de programación para determinar si su compilador realiza conversiones de ampliación implícitas en tipos numéricos.Consult your programming language's documentation to determine whether its compiler performs implicit widening conversions on numeric types.

Consulte también:

CompareTo(Object)

Compara esta instancia con un objeto especificado y devuelve una indicación de los valores relativos.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

Parámetros

value
Object

Objeto que se va a comparar o null.An object to compare, or null.

Devoluciones

Número con signo que indica los valores relativos de esta instancia y value.A signed number indicating the relative values of this instance and value.

Valor devueltoReturn Value DescripciónDescription
Menor que ceroLess than zero Esta instancia es menor que value.This instance is less than value.
CeroZero Esta instancia es igual a value.This instance is equal to value.
Mayor que ceroGreater than zero Esta instancia es mayor que value.This instance is greater than value. O bien-or- value es null.value is null.

Implementaciones

Excepciones

value no es un objeto Int32.value is not an Int32.

Comentarios

Cualquier instancia de Int32, independientemente de su valor, se considera mayor que null.Any instance of Int32, regardless of its value, is considered greater than null.

valuedebe ser null o una instancia de Int32; en caso contrario, se produce una excepción.value must be null or an instance of Int32; otherwise, an exception is thrown.

Consulte también:

Se aplica a