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í
| Name | Description |
|---|---|
| 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
- 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
- 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á reálnou 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í převodní operátory definují typy, které lze převést na Complex objekt. Kompilátory jazyka neprovádějí tento převod automaticky, protože mohou zahrnovat ztrátu dat. Místo toho provádějí převod pouze v případě, že se použije 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ě zobrazí chybu kompilátoru.
Převod BigInteger hodnoty na skutečnou část komplexního čísla může vést ke ztrátě přesnosti, protože Double, což je typ vlastnosti komplexního čísla Real , má méně významných číslic než a BigInteger.
Pokud převod není úspěšný, protože BigInteger hodnota je mimo rozsah Double typu, operace vyvolá výjimku OverflowException.
value Pokud je výsledek menší než MinValue, je výsledkem komplexní číslo, které má hodnotu vlastnosti rovnající RealNegativeInfinityse . Pokud value je větší než MaxValue, výsledek je komplexní číslo, které má Real hodnotu vlastnosti rovnající se PositiveInfinity.
Platí pro
Explicit(Decimal to Complex)
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
- 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á reálnou 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í převodní operátory definují typy, které lze převést na Complex objekt. Kompilátory jazyka neprovádějí tento převod automaticky, protože mohou zahrnovat ztrátu dat. Místo toho provádějí převod pouze v případě, že se použije 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ě zobrazí chybu kompilátoru.
Převod Decimal hodnoty na skutečnou část komplexního čísla může vést ke ztrátě přesnosti, protože Double, což je typ vlastnosti komplexního čísla Real , má méně významných číslic než a Decimal.
Platí pro
Explicit(Int128 to Complex)
- Zdroj:
- Complex.cs
- Zdroj:
- Complex.cs
- 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í.