BigInteger.Compare(BigInteger, BigInteger) Metodo

Definizione

Confronta due BigInteger valori e restituisce un numero intero che indica se il primo valore è minore, uguale o maggiore del secondo valore.

public:
 static int Compare(System::Numerics::BigInteger left, System::Numerics::BigInteger right);
public static int Compare(System.Numerics.BigInteger left, System.Numerics.BigInteger right);
static member Compare : System.Numerics.BigInteger * System.Numerics.BigInteger -> int
Public Shared Function Compare (left As BigInteger, right As BigInteger) As Integer

Parametri

left
BigInteger

Primo valore da confrontare.

right
BigInteger

Secondo valore da confrontare.

Valori restituiti

Intero con segno che indica i valori relativi di left e right, come illustrato nella tabella seguente.

Valore Condizione
Minore di zero left è minore di right.
Zero left è uguale a right.
Maggiore di zero left è maggiore di right.

Commenti

Anche se il BigInteger tipo non ha un intervallo fisso, i confronti di BigInteger valori non sono caratterizzati dalla mancanza di precisione che caratterizza il confronto di numeri a virgola mobile. Nell'esempio seguente vengono confrontati due BigInteger valori diversi per uno e ognuno con 1.896 cifre. Il Compare metodo segnala correttamente che i due valori non sono uguali.

BigInteger number1 = BigInteger.Pow(Int64.MaxValue, 100);
BigInteger number2 = number1 + 1;
string relation = "";
switch (BigInteger.Compare(number1, number2))
{
   case -1:
      relation = "<";
      break;
   case 0:
      relation = "=";
      break;
   case 1:
      relation = ">";
      break;
}
Console.WriteLine("{0} {1} {2}", number1, relation, number2);
// The example displays the following output:
//    3.0829940252776347122742186219E+1896 < 3.0829940252776347122742186219E+1896
let number1 = BigInteger.Pow(int64 System.Int64.MaxValue, 100)
let number2 = number1 + 1I
let relation = 
    match BigInteger.Compare(number1, number2) with
    | -1 -> "<"
    | 0 -> "="
    | 1 | _ -> ">"

printfn $"{number1} {relation} {number2}"
// The example displays the following output:
//    3.0829940252776347122742186219E+1896 < 3.0829940252776347122742186219E+1896
Dim number1 As BigInteger = BigInteger.Pow(Int64.MaxValue, 100)
Dim number2 As BigInteger = number1 + 1
Dim relation As String = ""
Select Case BigInteger.Compare(number1, number2)
   Case -1
      relation = "<"
   Case 0
      relation = "="
   Case 1
      relation = ">"
End Select            
Console.WriteLine("{0} {1} {2}", number1, relation, number2)
' The example displays the following output:
'    3.0829940252776347122742186219E+1896 < 3.0829940252776347122742186219E+1896

Si applica a

Vedi anche