Condividi tramite


BigInteger.Compare(BigInteger, BigInteger) Metodo

Definizione

Confronta due valori BigInteger e restituisce un Integer che indica se il primo valore è minore, uguale o maggiore rispetto al 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.

Restituisce

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 tipo non ha un intervallo fisso, i confronti dei valori non sono caratterizzati dalla mancanza di precisione che caratterizza il BigInteger confronto dei BigInteger numeri a virgola mobile. Nell'esempio seguente vengono confrontati due BigInteger valori diversi da uno e che ognuno ha 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