Int32.CompareTo Metoda

Definicja

Porównuje to wystąpienie z określonym obiektem lub Int32 i zwraca wskazanie ich względnych wartości.Compares this instance to a specified object or Int32 and returns an indication of their relative values.

Przeciążenia

CompareTo(Int32)

Porównuje to wystąpienie z określoną 32-bitową liczbą całkowitą ze znakiem i zwraca wskazanie ich względnych wartości.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

CompareTo(Object)

Porównuje to wystąpienie z określonym obiektem i zwraca wskazanie ich względnych wartości.Compares this instance to a specified object and returns an indication of their relative values.

CompareTo(Int32)

Porównuje to wystąpienie z określoną 32-bitową liczbą całkowitą ze znakiem i zwraca wskazanie ich względnych wartości.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

Parametry

value
Int32

Liczba całkowita do porównania.An integer to compare.

Zwraca

Liczba ze znakiem wskazująca wartości względne tego wystąpienia i value.A signed number indicating the relative values of this instance and value.

Wartość zwróconaReturn Value OpisDescription
Mniej niż zeroLess than zero To wystąpienie jest mniejsze niż value.This instance is less than value.
ZeroZero To wystąpienie jest równe value.This instance is equal to value.
Większe od zeraGreater than zero To wystąpienie jest większe niż value.This instance is greater than value.

Implementuje

Przykłady

Poniższy przykład demonstruje metodę Int32.CompareTo(Int32).The following example demonstrates the Int32.CompareTo(Int32) method. Oprócz wyświetlania wartości zwracanej przez metodę dla czterech różnych porównań, konwertuje wartość zwracaną na element członkowski niestandardowego wyliczenia Comparison, którego wartość jest również wyświetlana.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).

Uwagi

Ta metoda implementuje interfejs System.IComparable<T> i wykonuje nieco lepszą niż Metoda Int32.CompareTo, ponieważ nie musi skonwertować parametru value na obiekt.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.

W zależności od języka programowania może być możliwe zakodowanie metody CompareTo, w której typ parametru ma mniejszą liczbę bitów (jest węższy) niż typ wystąpienia.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. To jest możliwe, ponieważ w niektórych językach programowania jest wykonywana niejawna konwersja poszerzająca, która powoduje reprezentowanie parametru jako typu z taką samą liczbą bitów jak liczba bitów wystąpienia.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.

Załóżmy na przykład, że typ wystąpienia to Int32, a typ parametru to Byte.For example, suppose the instance type is Int32 and the parameter type is Byte. Kompilator firmy C# Microsoft generuje instrukcje do reprezentowania wartości parametru jako Int32, a następnie generuje metodę Int32.CompareTo, która porównuje wartości wystąpienia Int32 i reprezentację Int32 parametrów.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.

Aby ustalić, czy kompilator metody dokonuje na typach liczbowych niejawnych konwersji poszerzających, zajrzyj do dokumentacji języka programowania.Consult your programming language's documentation to determine whether its compiler performs implicit widening conversions on numeric types.

Zobacz też

CompareTo(Object)

Porównuje to wystąpienie z określonym obiektem i zwraca wskazanie ich względnych wartości.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

Parametry

value
Object

Obiekt do porównania lub null.An object to compare, or null.

Zwraca

Liczba ze znakiem wskazująca wartości względne tego wystąpienia i value.A signed number indicating the relative values of this instance and value.

Wartość zwróconaReturn Value OpisDescription
Mniej niż zeroLess than zero To wystąpienie jest mniejsze niż value.This instance is less than value.
ZeroZero To wystąpienie jest równe value.This instance is equal to value.
Większe od zeraGreater than zero To wystąpienie jest większe niż value.This instance is greater than value. lub-or- value jest null.value is null.

Implementuje

Wyjątki

value nie jest Int32.value is not an Int32.

Uwagi

Każde wystąpienie Int32, niezależnie od jego wartości, jest traktowane jako większe niż null.Any instance of Int32, regardless of its value, is considered greater than null.

value musi być null lub wystąpieniem Int32; w przeciwnym razie jest zgłaszany wyjątek.value must be null or an instance of Int32; otherwise, an exception is thrown.

Zobacz też

Dotyczy