BigInteger.Multiply(BigInteger, BigInteger) Metodo

Definizione

Restituisce il prodotto di due valori 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

Parametri

left
BigInteger

Primo numero da moltiplicare.

right
BigInteger

Secondo numero da moltiplicare.

Restituisce

Prodotto dei parametri left e right.

Esempio

L'esempio seguente tenta di eseguire la moltiplicazione con due interi lunghi. Poiché il risultato supera l'intervallo di un numero intero lungo, viene generata un'eccezione OverflowException e viene chiamato il Multiply metodo per gestire la moltiplicazione. Si noti che C# richiede l'uso della checked parola chiave (come in questo esempio) o dell'opzione del /checked+ compilatore per assicurarsi che venga generata un'eccezione in un overflow numerico.

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

Commenti

Il Multiply metodo viene implementato per i linguaggi che non supportano l'overload degli operatori. Il comportamento è identico alla moltiplicazione usando l'operatore di moltiplicazione. Inoltre, il Multiply metodo è un utile sostituto dell'operatore di moltiplicazione quando si crea un'istanza di una BigInteger variabile assegnando un prodotto risultante dalla moltiplicazione, come illustrato nell'esempio seguente.

// 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)

Se necessario, questo metodo esegue automaticamente la conversione implicita di altri tipi integrali in BigInteger oggetti . Questo è illustrato nell'esempio nella sezione successiva, in cui il Multiply metodo viene passato a due Int64 valori.

Si applica a

Vedi anche