Condividi tramite


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 intero lungo, viene generato un OverflowException valore e il Multiply metodo viene chiamato per gestire la moltiplicazione. Si noti che C# richiede che si usi la parola chiave (come in questo esempio) o l'opzione checked/checked+ del compilatore per assicurarsi che un'eccezione venga generata su 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());
   }
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

Commenti

Il Multiply metodo viene implementato per le lingue che non supportano l'overload degli operatori. Il suo comportamento è identico alla moltiplicazione usando l'operatore di moltiplicazione. Inoltre, il Multiply metodo è un utile sostituto per l'operatore di moltiplicazione quando si crea un'istanza di una BigInteger variabile assegnando un prodotto che genera la 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);
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)

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

Si applica a

Vedi anche