Nyelv

BigInteger.Compare(BigInteger, BigInteger) Metódus

Definíció

Két BigInteger értéket hasonlít össze, és egy egész számot ad vissza, amely azt jelzi, hogy az első érték kisebb, egyenlő vagy nagyobb,mint a második érték.

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

Paraméterek

left
BigInteger

Az első összehasonlítandó érték.

right
BigInteger

A második összehasonlítandó érték.

Válaszok

Aláírt egész szám, amely az és left, relatív értékeit right jelzi az alábbi táblázatban látható módon.

Érték Feltétel
Nullánál kisebb left kisebb, mint right.
Nulla left egyenlő right.
Nullánál nagyobb left nagyobb, mint right.

Megjegyzések

Bár a BigInteger típusnak nincs rögzített tartománya, az értékek összehasonlítását BigInteger nem jellemzi a pontosság hiánya, amely a lebegőpontos számok összehasonlítását jellemzi. Az alábbi példa két BigInteger értéket hasonlít össze egymással, és mindegyik 1896 számjegyből áll. A Compare metódus helyesen jelenti, hogy a két érték nem egyenlő.

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

A következőre érvényes:

Lásd még