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());
   }
let number1 = 1234567890L
let number2 = 9876543210L

try

    let product: int64 = Checked.(*) number1 number2
    ()
with :? OverflowException ->
    let product = BigInteger.Multiply(number1, number2)
    printfn $"{product}"
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);
let 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 значениями.

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

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