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

Определение

Возвращает произведение двух значений BigInteger.Returns the product of two BigInteger values.

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

Первое число для умножения.The first number to multiply.

right
BigInteger

Второе число для умножения.The second number to multiply.

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

BigInteger

Произведение параметров left и right.The product of the left and right parameters.

Примеры

В следующем примере предпринимается попытка выполнить умножение с двумя длинными целыми числами.The following example tries to perform multiplication with two long integers. Поскольку результат превышает диапазон длинного целого числа, OverflowException создается исключение, а Multiply метод вызывается для выполнения умножения.Because the result exceeds the range of a long integer, an OverflowException is thrown, and the Multiply method is called to handle the multiplication. Обратите внимание, что для C# необходимо использовать checked ключевое слово (как в этом примере) или /checked+ параметр компилятора, чтобы убедиться, что в числовом переполнении возникает исключение.Note that C# requires that you use either the checked keyword (as in this example) or the /checked+ compiler option to make sure an exception is thrown on a numeric overflow.

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 реализуется для языков, которые не поддерживают перегрузку операторов.The Multiply method is implemented for languages that do not support operator overloading. Его поведение идентично умножению с помощью оператора умножения.Its behavior is identical to multiplication using the multiplication operator. Кроме того, Multiply метод является полезным заменой для оператора умножения при создании экземпляра BigInteger переменной путем назначения ей продукта, полученного из умножения, как показано в следующем примере.In addition, the Multiply method is a useful substitute for the multiplication operator when instantiating a BigInteger variable by assigning it a product that results from multiplication, as shown in the following example.

// 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 объекты.If necessary, this method automatically performs implicit conversion of other integral types to BigInteger objects. Это показано в примере в следующем разделе, где Multiply методу передается два Int64 значения.This is illustrated in the example in the next section, where the Multiply method is passed two Int64 values.

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

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