BigInteger.Multiply(BigInteger, BigInteger) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt das Produkt der beiden BigInteger-Werte zurück.
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
Parameter
- left
- BigInteger
Die erste zu multiplizierende Zahl.
- right
- BigInteger
Die zweite zu multiplizierende Zahl.
Gibt zurück
Das Produkt des left
-Parameters und des right
-Parameters.
Beispiele
Im folgenden Beispiel wird versucht, eine Multiplikation mit zwei langen ganzen Zahlen durchzuführen. Da das Ergebnis den Bereich einer langen ganzen Zahl überschreitet, wird eine OverflowException ausgelöst, und die Multiply -Methode wird aufgerufen, um die Multiplikation zu behandeln. Beachten Sie, dass C# erfordert, dass Sie entweder die checked
Schlüsselwort (keyword) (wie in diesem Beispiel) oder die /checked+
Compileroption verwenden, um sicherzustellen, dass bei einem numerischen Überlauf eine Ausnahme ausgelöst wird.
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
Hinweise
Die Multiply -Methode wird für Sprachen implementiert, die keine Operatorüberladung unterstützen. Sein Verhalten ist identisch mit der Multiplikation mit dem Multiplikationsoperator. Darüber hinaus ist die Multiply -Methode ein nützlicher Ersatz für den Multiplikationsoperator beim Instanziieren einer BigInteger Variablen durch Zuweisen eines Produkts, das aus der Multiplikation resultiert, wie im folgenden Beispiel gezeigt.
// 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)
Bei Bedarf führt diese Methode automatisch eine implizite Konvertierung anderer integraler Typen in BigInteger -Objekte durch. Dies wird im Beispiel im nächsten Abschnitt veranschaulicht, in dem der Multiply -Methode zwei Int64 Werte übergeben werden.