BigInteger.Multiply(BigInteger, BigInteger) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.