Freigeben über


BigInteger.Compare(BigInteger, BigInteger) Methode

Definition

Vergleicht zwei BigInteger-Werte und gibt eine ganze Zahl zurück, die angibt, ob der erste Wert kleiner oder größer als der zweite Wert oder gleich dem zweiten Wert ist.

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

Parameter

left
BigInteger

Der erste zu vergleichende Wert.

right
BigInteger

Der zweite zu vergleichende Wert.

Gibt zurück

Eine ganze Zahl mit Vorzeichen, die die relativen Werte von left und right angibt, wie in der folgenden Tabelle veranschaulicht.

Wert Bedingung
Kleiner als 0 (null) left ist kleiner als right.
Zero left ist gleich right.
Größer als 0 (null) left ist größer als right.

Hinweise

Obwohl der BigInteger Typ keinen festen Bereich aufweist, sind Vergleiche von BigInteger Werten nicht durch die fehlende Genauigkeit gekennzeichnet, die den Vergleich von Gleitkommazahlen kennzeichnet. Im folgenden Beispiel werden zwei BigInteger Werte verglichen, die sich um einen unterscheiden und die jeweils 1.896 Ziffern aufweisen. Die Compare -Methode meldet ordnungsgemäß, dass die beiden Werte ungleich sind.

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

Gilt für:

Weitere Informationen