BigInteger.Multiply(BigInteger, BigInteger) Methode

Definitie

Retourneert het product van twee BigInteger waarden.

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

Parameters

left
BigInteger

Het eerste getal dat moet worden vermenigvuldigd.

right
BigInteger

Het tweede getal dat moet worden vermenigvuldigd.

Retouren

Het product van de left en right parameters.

Voorbeelden

In het volgende voorbeeld wordt geprobeerd om vermenigvuldiging uit te voeren met twee lange gehele getallen. Omdat het resultaat het bereik van een lang geheel getal overschrijdt, wordt er een OverflowException gegenereerd en wordt de Multiply methode aangeroepen om de vermenigvuldiging te verwerken. C# vereist dat u het checked trefwoord (zoals in dit voorbeeld) of de /checked+ compileroptie gebruikt om ervoor te zorgen dat er een uitzondering optreedt bij een numerieke overloop.

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

Opmerkingen

De Multiply methode wordt geïmplementeerd voor talen die geen ondersteuning bieden voor overbelasting van operatoren. Het gedrag is identiek aan vermenigvuldiging met behulp van de vermenigvuldigingsoperator. Bovendien is de Multiply methode een nuttige vervanging voor de vermenigvuldigingsoperator bij het instantiëren van een BigInteger variabele door het toe te wijzen aan een product dat het resultaat is van vermenigvuldiging, zoals wordt weergegeven in het volgende voorbeeld.

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

Indien nodig wordt met deze methode automatisch impliciete conversie van andere integrale typen naar BigInteger objecten uitgevoerd. Dit wordt geïllustreerd in het voorbeeld in de volgende sectie, waarbij de Multiply methode twee Int64 waarden doorgegeven wordt.

Van toepassing op

Zie ook