Int32.CompareTo Metodo

Definizione

Confronta l'istanza con un oggetto specificato o un oggetto Int32 e restituisce un'indicazione dei relativi valori.Compares this instance to a specified object or Int32 and returns an indication of their relative values.

Overload

CompareTo(Int32)

Confronta questa istanza con un intero con segno a 32 bit specificato e restituisce un'indicazione dei valori relativi.Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

CompareTo(Object)

Confronta questa istanza con un oggetto specificato e restituisce un'indicazione dei valori relativi.Compares this instance to a specified object and returns an indication of their relative values.

CompareTo(Int32)

Confronta questa istanza con un intero con segno a 32 bit specificato e restituisce un'indicazione dei valori relativi.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

Parametri

value
Int32

Intero da confrontare.An integer to compare.

Restituisce

Numero con segno che indica i valori relativi di questa istanza e di value.A signed number indicating the relative values of this instance and value.

Valore restituitoReturn Value DescriptionDescription
Minore di zeroLess than zero L'istanza è minore di value.This instance is less than value.
ZeroZero L'istanza è uguale a value.This instance is equal to value.
Maggiore di zeroGreater than zero L'istanza è maggiore di value.This instance is greater than value.

Implementazioni

Esempi

Nell'esempio seguente viene illustrato il metodo Int32.CompareTo(Int32).The following example demonstrates the Int32.CompareTo(Int32) method. Oltre a visualizzare il valore restituito dal metodo per quattro confronti diversi, il valore restituito viene convertito in un membro dell'enumerazione Comparison personalizzata, il cui valore viene visualizzato anche.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).

Commenti

Questo metodo implementa l'interfaccia System.IComparable<T> e offre prestazioni leggermente migliori rispetto al metodo Int32.CompareTo perché non è necessario convertire il parametro value in un oggetto.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.

A seconda del linguaggio di programmazione, potrebbe essere possibile codificare un CompareTo metodo in cui il tipo di parametro ha meno bit (è più piccolo) rispetto al tipo di istanza.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. Questo è possibile perché alcuni linguaggi di programmazione eseguono una conversione implicita verso un tipo di ampliamento che rappresenta il parametro come un tipo con un numero di bit pari all'istanza.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.

Si supponga, ad esempio, che il tipo di istanza sia Int32 e che il tipo di parametro sia Byte.For example, suppose the instance type is Int32 and the parameter type is Byte. Il compilatore C# Microsoft genera istruzioni per rappresentare il valore del parametro come Int32, quindi genera un metodo Int32.CompareTo che confronta i valori dell'istanza di Int32 e la rappresentazione del parametro 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.

Consultare la documentazione del linguaggio di programmazione per determinare se il compilatore esegue conversioni implicite verso un tipo di informazioni più ampio su tipi numerici.Consult your programming language's documentation to determine whether its compiler performs implicit widening conversions on numeric types.

Vedi anche

CompareTo(Object)

Confronta questa istanza con un oggetto specificato e restituisce un'indicazione dei valori relativi.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

Parametri

value
Object

Oggetto da confrontare o null.An object to compare, or null.

Restituisce

Numero con segno che indica i valori relativi di questa istanza e di value.A signed number indicating the relative values of this instance and value.

Valore restituitoReturn Value DescriptionDescription
Minore di zeroLess than zero L'istanza è minore di value.This instance is less than value.
ZeroZero L'istanza è uguale a value.This instance is equal to value.
Maggiore di zeroGreater than zero L'istanza è maggiore di value.This instance is greater than value. -oppure--or- value è null.value is null.

Implementazioni

Eccezioni

value non è un elemento Int32.value is not an Int32.

Commenti

Qualsiasi istanza di Int32, indipendentemente dal relativo valore, viene considerata maggiore di null.Any instance of Int32, regardless of its value, is considered greater than null.

value deve essere null o un'istanza di Int32; in caso contrario, viene generata un'eccezione.value must be null or an instance of Int32; otherwise, an exception is thrown.

Vedi anche

Si applica a