BigInteger.Compare(BigInteger, BigInteger) Metoda

Definice

Porovná dvě BigInteger hodnoty a vrátí celé číslo, které označuje, zda je první hodnota menší než, rovna nebo větší než druhá hodnota.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

Parametry

left
BigInteger

První hodnota pro porovnání.The first value to compare.

right
BigInteger

Druhá hodnota pro porovnání.The second value to compare.

Návraty

Int32

Celé číslo se znaménkem, které označuje relativní hodnoty left a right , jak je znázorněno v následující tabulce.A signed integer that indicates the relative values of left and right, as shown in the following table.

HodnotaValue PodmínkaCondition
Menší než nulaLess than zero left je menší než right .left is less than right.
ŽádnouZero left je rovno right .left equals right.
Větší než nulaGreater than zero left je větší než right .left is greater than right.

Poznámky

I když BigInteger typ nemá žádný pevný rozsah, porovnání BigInteger hodnot není charakterizováno nedostatečným přesností, které charakterizuje porovnání čísel s plovoucí desetinnou čárkou.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. Následující příklad porovnává dvě BigInteger hodnoty, které se liší podle jedné a které mají 1 896 číslic.The following example compares two BigInteger values that differ by one and that each have 1,896 digits. CompareMetoda správně hlásí, že tyto dvě hodnoty nejsou stejné.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

Platí pro

Viz také