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

Определение

Возвращает произведение двух значений BigInteger.

public:
 static System::Numerics::BigInteger Multiply(System::Numerics::BigInteger left, System::Numerics::BigInteger right);
public static System.Numerics.BigInteger Multiply (System.Numerics.BigInteger left, System.Numerics.BigInteger right);
static member Multiply : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger
Public Shared Function Multiply (left As BigInteger, right As BigInteger) As BigInteger

Параметры

left
BigInteger

Первое число для умножения.

right
BigInteger

Второе число для умножения.

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

Произведение параметров left и right.

Примеры

В следующем примере выполняется умножение с двумя длинными целыми числами. Поскольку результат превышает диапазон длинного целого числа, OverflowException возникает исключение , и Multiply для обработки умножения вызывается метод . Обратите внимание, что для C# требуется использовать ключевое checked слово (как в этом примере) или /checked+ параметр компилятора, чтобы убедиться, что при числовом переполнении возникает исключение.

long number1 = 1234567890;
long number2 = 9876543210;
try
{
   long product;
   product = checked(number1 * number2);
}
catch (OverflowException)
{
   BigInteger product;
   product = BigInteger.Multiply(number1, number2);
   Console.WriteLine(product.ToString());
   }
Dim number1 As Long = 1234567890
Dim number2 As Long = 9876543210
Try
   Dim product As Long
   product = number1 * number2
   Console.WriteLine(product.ToString("N0"))
Catch e As OverflowException
   Dim product As BigInteger
   product = BigInteger.Multiply(number1, number2)
   Console.WriteLine(product.ToString)
End Try

Комментарии

Метод Multiply реализуется для языков, которые не поддерживают перегрузку операторов. Его поведение идентично умножению с помощью оператора умножения. Кроме того, Multiply метод является полезной заменой оператора умножения при создании экземпляра переменной BigInteger путем присвоения ей продукта, являющегося результатом умножения, как показано в следующем примере.

// The statement
//    BigInteger number = Int64.MaxValue * 3;
// produces compiler error CS0220: The operation overflows at compile time in checked mode.
// The alternative:
BigInteger number = BigInteger.Multiply(Int64.MaxValue, 3);
' The statement
'    Dim number As BigInteger = Int64.MaxValue * 3
' produces compiler error BC30439: Constant expression not representable in type 'Long'.
' The alternative:
Dim number As BigInteger = BigInteger.Multiply(Int64.MaxValue, 3)

При необходимости этот метод автоматически выполняет неявное преобразование других целочисленных типов в BigInteger объекты . Это показано в примере в следующем разделе, где Multiply методу передаются два Int64 значения.

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

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