BigInteger.Multiply(BigInteger, BigInteger) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí součin dvou BigInteger hodnot.
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
Parametry
- left
- BigInteger
První číslo, které se má vynásobit.
- right
- BigInteger
Druhé číslo, které se má vynásobit.
Návraty
Součin left
parametrů a right
.
Příklady
Následující příklad se pokusí provést násobení se dvěma dlouhými celými čísly. Vzhledem k tomu, že výsledek přesahuje rozsah dlouhého celého čísla, OverflowException je vyvolána a Multiply je volána metoda pro zpracování násobení. Všimněte si, že jazyk C# vyžaduje, abyste použili klíčové checked
slovo (jako v tomto příkladu) nebo možnost kompilátoru /checked+
, abyste zajistili, že při číselném přetečení dojde k výjimce.
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
Poznámky
Metoda Multiply je implementována pro jazyky, které nepodporují přetížení operátoru. Jeho chování je stejné jako násobení pomocí operátoru násobení. Metoda je navíc Multiply užitečnou náhradou za operátor násobení při vytváření BigInteger instance proměnné přiřazením součinu, který je výsledkem násobení, jak je znázorněno v následujícím příkladu.
// 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)
V případě potřeby tato metoda automaticky provede implicitní převod jiných integrálních typů na BigInteger objekty. To je znázorněno v příkladu v další části, kde Multiply se metodě předávají dvě Int64 hodnoty.