BigInteger.Multiply(BigInteger, BigInteger) Metodo

Definizione

Restituisce il prodotto di due BigInteger valori.

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.

Valori restituiti

Prodotto dei left parametri e right .

Esempio

Nell'esempio seguente viene eseguito un tentativo di 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());
   }
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 i linguaggi che non supportano l'overload degli operatori. Il comportamento è identico a quello della 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);
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 . Questo è illustrato nell'esempio nella sezione successiva, in cui il Multiply metodo viene passato a due Int64 valori.

Si applica a

Vedi anche