BigInteger.Compare(BigInteger, BigInteger) BigInteger.Compare(BigInteger, BigInteger) BigInteger.Compare(BigInteger, BigInteger) BigInteger.Compare(BigInteger, BigInteger) Method

Определение

Сравнивает два значения BigInteger и возвращает целое значение, которое показывает, больше или меньше первое значение по сравнению со вторым или равно ему.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

Параметры

left
BigInteger BigInteger BigInteger BigInteger

Первое сравниваемое значение.The first value to compare.

right
BigInteger BigInteger BigInteger BigInteger

Второе сравниваемое значение.The second value to compare.

Возвраты

Знаковое целое число, которое определяет относительные значения параметров left и right, как показано в следующей таблице.A signed integer that indicates the relative values of left and right, as shown in the following table.

ЗначениеValue УсловиеCondition
Меньше нуляLess than zero Значение left меньше right.left is less than right.
НульZero left равняется right.left equals right.
Больше нуляGreater than zero Значение left больше значения right.left is greater than right.

Комментарии

Несмотря на BigInteger то, что тип не имеет фиксированного диапазона BigInteger , сравнение значений не характеризуется отсутствием точности, которое характеризует сравнение чисел с плавающей запятой.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. В следующем примере сравниваются два BigInteger значения, которые отличаются друг от друга и имеют 1 896 цифр.The following example compares two BigInteger values that differ by one and that each have 1,896 digits. Compare Метод правильно сообщает, что два значения не равны.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

Применяется к

Дополнительно