Complex.Explicit Operátor
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í.
Definuje explicitní převod mezi objektem a jiným typem Complex .
Přetížení
Explicit(UInt128 to Complex) |
Explicitně převede UInt128 hodnotu na komplexní číslo s dvojitou přesností. |
Explicit(BigInteger to Complex) |
Definuje explicitní převod BigInteger hodnoty na komplexní číslo. |
Explicit(Decimal to Complex) |
Definuje explicitní převod Decimal hodnoty na komplexní číslo. |
Explicit(Int128 to Complex) |
Explicitně převede Int128 hodnotu na komplexní číslo s dvojitou přesností. |
Explicit(UInt128 to Complex)
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Explicitně převede UInt128 hodnotu na komplexní číslo s dvojitou přesností.
public:
static explicit operator System::Numerics::Complex(UInt128 value);
[System.CLSCompliant(false)]
public static explicit operator System.Numerics.Complex (UInt128 value);
[<System.CLSCompliant(false)>]
static member op_Explicit : UInt128 -> System.Numerics.Complex
Public Shared Narrowing Operator CType (value As UInt128) As Complex
Parametry
- value
- UInt128
Hodnota, kterou chcete převést.
Návraty
value
převedeno na komplexní číslo s dvojitou přesností.
- Atributy
Platí pro
Explicit(BigInteger to Complex)
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
Definuje explicitní převod BigInteger hodnoty na komplexní číslo.
public:
static explicit operator System::Numerics::Complex(System::Numerics::BigInteger value);
public static explicit operator System.Numerics.Complex (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> System.Numerics.Complex
Public Shared Narrowing Operator CType (value As BigInteger) As Complex
Parametry
- value
- BigInteger
Hodnota, která se má převést na komplexní číslo.
Návraty
Komplexní číslo, které má skutečnou komponentu rovnou value
a imaginární komponentu rovnou nule.
Příklady
Následující příklad znázorňuje explicitní převod BigInteger hodnot na Complex hodnoty.
BigInteger[] numbers= {
((BigInteger) Double.MaxValue) * 2,
BigInteger.Parse("901345277852317852466891423"),
BigInteger.One };
foreach (BigInteger number in numbers)
{
Complex c1 = (Complex) number;
Console.WriteLine(c1);
}
// The example displays the following output:
// (Infinity, 0)
// (9.01345277852318E+26, 0)
// (1, 0)
let numbers =
[ (bigint Double.MaxValue) * 2I
BigInteger.Parse "901345277852317852466891423"
BigInteger.One ]
for number in numbers do
let c1 = Complex(float number, 0.)
printfn $"{number, 30} --> {c1}"
// The example displays the following output:
// (Infinity, 0)
// (9.01345277852318E+26, 0)
// (1, 0)
Dim numbers() As BigInteger = {
CType(Double.MaxValue, BigInteger) * 2,
BigInteger.Parse("901345277852317852466891423"),
BigInteger.One }
For Each number In numbers
Dim c1 As System.Numerics.Complex = CType(number,
System.Numerics.Complex)
Console.WriteLine(c1)
Next
' The example displays the following output:
' (Infinity, 0)
' (9.01345277852318E+26, 0)
' (1, 0)
Poznámky
Explicitní operátory převodu definují typy, které lze převést na Complex objekt. Kompilátory jazyků neprovádějí tento převod automaticky, protože může zahrnovat ztrátu dat. Místo toho provádějí převod pouze v případě, že je použit operátor přetypování (v jazyce C#) nebo funkce převodu (například CType
v jazyce Visual Basic). V opačném případě se zobrazí chyba kompilátoru.
Převod hodnoty na reálnou BigInteger část komplexního čísla může vést ke ztrátě přesnosti, protože Doubleobjekt , který je typem vlastnosti komplexního čísla Real , má méně významných číslic než BigInteger.
Pokud je převod neúspěšný, protože BigInteger hodnota je mimo rozsah Double typu, operace nevyvolá OverflowException.
value
Pokud je místo toho menší než MinValue, výsledkem je komplexní číslo, které má Real hodnotu vlastnosti rovnající se hodnotě NegativeInfinity. Pokud value
je větší než MaxValue, výsledkem je komplexní číslo, které má Real hodnotu vlastnosti rovnou PositiveInfinity.
Platí pro
Explicit(Decimal to Complex)
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
Definuje explicitní převod Decimal hodnoty na komplexní číslo.
public:
static explicit operator System::Numerics::Complex(System::Decimal value);
public static explicit operator System.Numerics.Complex (decimal value);
static member op_Explicit : decimal -> System.Numerics.Complex
Public Shared Narrowing Operator CType (value As Decimal) As Complex
Parametry
- value
- Decimal
Hodnota, která se má převést na komplexní číslo.
Návraty
Komplexní číslo, které má skutečnou komponentu rovnou value
a imaginární komponentu rovnou nule.
Příklady
Následující příklad znázorňuje explicitní převod Decimal hodnot na Complex hodnoty.
decimal[] numbers = { Decimal.MinValue, -18.35m, 0m, 1893.019m,
Decimal.MaxValue };
foreach (decimal number in numbers)
{
System.Numerics.Complex c1 = (System.Numerics.Complex) number;
Console.WriteLine("{0,30} --> {1}", number, c1);
}
// The example displays the following output:
// -79228162514264337593543950335 --> (-7.92281625142643E+28, 0)
// -18.35 --> (-18.35, 0)
// 0 --> (0, 0)
// 1893.019 --> (1893.019, 0)
// 79228162514264337593543950335 --> (7.92281625142643E+28, 0)
let numbers = [ Decimal.MinValue; -18.35m; 0m; 1893.019m; Decimal.MaxValue ]
for number in numbers do
let c1 = Complex(float number, 0.)
printfn $"{number, 30} --> {c1}"
// The example displays the following output:
// -79228162514264337593543950335 --> (-7.92281625142643E+28, 0)
// -18.35 --> (-18.35, 0)
// 0 --> (0, 0)
// 1893.019 --> (1893.019, 0)
// 79228162514264337593543950335 --> (7.92281625142643E+28, 0)
Dim numbers() As Decimal = { Decimal.MinValue, -18.35d, 0d, 1893.019d,
Decimal.MaxValue }
For Each number In numbers
Dim c1 As System.Numerics.Complex = CType(number,
System.Numerics.Complex)
Console.WriteLine("{0,30} --> {1}", number, c1)
Next
' The example displays the following output:
' -79228162514264337593543950335 --> (-7.92281625142643E+28, 0)
' -18.35 --> (-18.3500003814697, 0)
' 0 --> (0, 0)
' 1893.019 --> (1893.01904296875, 0)
' 79228162514264337593543950335 --> (7.92281625142643E+28, 0)
Poznámky
Explicitní operátory převodu definují typy, které lze převést na Complex objekt. Kompilátory jazyků neprovádějí tento převod automaticky, protože může zahrnovat ztrátu dat. Místo toho provádějí převod pouze v případě, že je použit operátor přetypování (v jazyce C#) nebo funkce převodu (například CType
v jazyce Visual Basic). V opačném případě se zobrazí chyba kompilátoru.
Převod hodnoty na reálnou Decimal část komplexního čísla může vést ke ztrátě přesnosti, protože Doubleobjekt , který je typem vlastnosti komplexního čísla Real , má méně významných číslic než Decimal.
Platí pro
Explicit(Int128 to Complex)
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
Explicitně převede Int128 hodnotu na komplexní číslo s dvojitou přesností.
public:
static explicit operator System::Numerics::Complex(Int128 value);
public static explicit operator System.Numerics.Complex (Int128 value);
static member op_Explicit : Int128 -> System.Numerics.Complex
Public Shared Narrowing Operator CType (value As Int128) As Complex
Parametry
- value
- Int128
Hodnota, kterou chcete převést.
Návraty
value
převedeno na komplexní číslo s dvojitou přesností.