Int32.CompareTo Método

Definição

Compara essa instância com um inteiro com sinal de 32 bits especificado e retorna uma indicação dos valores relativos.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

Sobrecargas

CompareTo(Int32)

Compara essa instância com um inteiro com sinal de 32 bits especificado e retorna uma indicação dos valores relativos.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

CompareTo(Object)

Compara essa instância com um objeto especificado e retorna uma indicação dos valores relativos.Compares this instance to a specified object and returns an indication of their relative values.

CompareTo(Int32)

Compara essa instância com um inteiro com sinal de 32 bits especificado e retorna uma indicação dos 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

Um inteiro para comparação.An integer to compare.

Retornos

Int32

Um número assinado que indica os valores relativos dessa instância e de value.A signed number indicating the relative values of this instance and value.

Valor de retornoReturn Value DescriçãoDescription
Menor que zeroLess than zero Esta instância é menor que value.This instance is less than value.
ZeroZero Esta instância é igual a value.This instance is equal to value.
Maior que zeroGreater than zero Esta instância é maior que value.This instance is greater than value.

Implementações

Exemplos

O exemplo a seguir demonstra o Int32.CompareTo(Int32) método.The following example demonstrates the Int32.CompareTo(Int32) method. Além de exibir o valor retornado pelo método para quatro comparações diferentes, ele converte o valor de retorno em um membro da enumeração personalizada Comparison , cujo valor também exibe.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).

Comentários

Esse método implementa a System.IComparable<T> interface e apresenta um pouco melhor do que o Int32.CompareTo método porque não precisa converter o value parâmetro em um 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.

Dependendo da linguagem de programação, pode ser possível codificar um CompareTo método em que o tipo de parâmetro tenha menos bits (é mais estreito) do que o tipo de instância.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. Isso é possível porque algumas linguagens de programação executam uma conversão de ampliação implícita que representa o parâmetro como um tipo com tantos bit quanto a instância.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 exemplo, suponha que o tipo de instância seja Int32 e o tipo de parâmetro seja Byte.For example, suppose the instance type is Int32 and the parameter type is Byte. O compilador do Microsoft C# gera instruções para representar o valor do parâmetro como um Int32 e, em seguida, gera um Int32.CompareTo método que compara os valores da Int32 instância e da Int32 representação do parâmetro.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 a documentação da linguagem de programação para determinar se o compilador realiza conversões de ampliação implícitas em tipos numéricos.Consult your programming language's documentation to determine whether its compiler performs implicit widening conversions on numeric types.

Confira também

Aplica-se a

CompareTo(Object)

Compara essa instância com um objeto especificado e retorna uma indicação dos 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

Um objeto a ser comparado ou null.An object to compare, or null.

Retornos

Int32

Um número assinado que indica os valores relativos dessa instância e de value.A signed number indicating the relative values of this instance and value.

Valor de retornoReturn Value DescriçãoDescription
Menor que zeroLess than zero Esta instância é menor que value.This instance is less than value.
ZeroZero Esta instância é igual a value.This instance is equal to value.
Maior que zeroGreater than zero Esta instância é maior do que value ou value é null.This instance is greater than value, or value is null.

Implementações

Exceções

value não é um Int32.value is not an Int32.

Comentários

Qualquer instância do Int32 , independentemente de seu valor, é considerada maior que null .Any instance of Int32, regardless of its value, is considered greater than null.

value deve ser null ou uma instância de Int32 ; caso contrário, uma exceção é lançada.value must be null or an instance of Int32; otherwise, an exception is thrown.

Confira também

Aplica-se a