BigInteger.Compare(BigInteger, BigInteger) Метод

Определение

Сравнивает два значения BigInteger и возвращает целое значение, которое показывает, больше или меньше первое значение по сравнению со вторым или равно ему.

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

Первое сравниваемое значение.

right
BigInteger

Второе сравниваемое значение.

Возвращаемое значение

Знаковое целое число, которое определяет относительные значения параметров left и right, как показано в следующей таблице.

Значение Условие
Меньше нуляЗначение left меньше right.
Нульleft равняется right.
Больше нуляЗначение left больше значения right.

Комментарии

BigInteger Хотя тип не имеет фиксированного диапазона, сравнение значений BigInteger не характеризуется отсутствием точности, характеризующей сравнение чисел с плавающей запятой. В следующем примере сравниваются два BigInteger значения, отличающиеся на одно и каждое из которых содержит 1896 цифр. Метод Compare правильно сообщает, что эти два значения не равны.

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

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

См. также раздел