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.Compares two BigInteger values and returns an integer that indicates whether the first value is less than, equal to, or greater than the second value.

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.The first value to compare.

right
BigInteger

Der zweite zu vergleichende Wert.The second value to compare.

Gibt zurück

Int32

Eine ganze Zahl mit Vorzeichen, die die relativen Werte von left und right angibt, wie in der folgenden Tabelle veranschaulicht.A signed integer that indicates the relative values of left and right, as shown in the following table.

WertValue BedingungCondition
Kleiner als 0 (null)Less than zero left ist kleiner als right.left is less than right.
ZeroZero left ist gleich right.left equals right.
Größer als 0 (null)Greater than zero left ist größer als right.left is greater than right.

Hinweise

Obwohl der BigInteger Typ keinen festgelegten Bereich aufweist, werden Vergleiche von BigInteger Werten nicht durch die fehlende Genauigkeit gekennzeichnet, die den Vergleich von Gleit Komma Zahlen kennzeichnet.Although the BigInteger type has no fixed range, comparisons of BigInteger values are not characterized by the lack of precision that characterizes the comparison of floating-point numbers. Im folgenden Beispiel werden zwei BigInteger Werte verglichen, die sich um einen unterscheiden und jeweils 1.896 Ziffern aufweisen.The following example compares two BigInteger values that differ by one and that each have 1,896 digits. Die- Compare Methode meldet ordnungsgemäß, dass die beiden Werte nicht gleich sind.The Compare method correctly reports that the two values are not equal.

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
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:

Siehe auch