BigInteger.Compare(BigInteger, BigInteger) Methode

Definitie

Vergelijkt twee BigInteger waarden en retourneert een geheel getal dat aangeeft of de eerste waarde kleiner is dan, gelijk is aan of groter is dan de tweede waarde.

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

Parameters

left
BigInteger

De eerste waarde die moet worden vergeleken.

right
BigInteger

De tweede waarde die moet worden vergeleken.

Retouren

Een ondertekend geheel getal dat de relatieve waarden van left en right, zoals wordt weergegeven in de volgende tabel, aangeeft.

Waarde Conditie
Kleiner dan nul left is kleiner dan right.
Nul left is rightgelijk aan .
Groter dan nul left is groter dan right.

Opmerkingen

Hoewel het BigInteger type geen vast bereik heeft, worden vergelijkingen van BigInteger waarden niet gekenmerkt door het gebrek aan precisie dat de vergelijking van drijvendekommage getallen aangeeft. In het volgende voorbeeld worden twee BigInteger waarden vergeleken die met één verschillen en die elk 1896 cijfers hebben. De Compare methode rapporteert correct dat de twee waarden niet gelijk zijn.

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

Van toepassing op

Zie ook