Complex.Explicit Operátor
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Explicit átalakítást határoz meg egy objektum és egy Complex másik típus között.
Túlterhelések
| Name | Description |
|---|---|
| Explicit(UInt128 to Complex) |
Explicit módon konvertál egy UInt128 értéket dupla pontosságú összetett számmá. |
| Explicit(BigInteger to Complex) |
Egy érték explicit konvertálását BigInteger határozza meg összetett számra. |
| Explicit(Decimal to Complex) |
Egy érték explicit konvertálását Decimal határozza meg összetett számra. |
| Explicit(Int128 to Complex) |
Explicit módon konvertál egy Int128 értéket dupla pontosságú összetett számmá. |
Explicit(UInt128 to Complex)
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
Fontos
Ez az API nem CLS-kompatibilis.
Explicit módon konvertál egy UInt128 értéket dupla pontosságú összetett számmá.
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
Paraméterek
- value
- UInt128
Az átalakítandó érték.
Válaszok
value kettős pontosságú komplex számmá konvertálva.
- Attribútumok
A következőre érvényes:
Explicit(BigInteger to Complex)
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
Egy érték explicit konvertálását BigInteger határozza meg összetett számra.
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
Paraméterek
- value
- BigInteger
A komplex számmá konvertálandó érték.
Válaszok
Olyan összetett szám, amelynek valós összetevője egyenlő, value és egy képzeletbeli összetevő nullával egyenlő.
Példák
Az alábbi példa az értékek értékké alakítását BigInteger szemléltetiComplex.
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)
Megjegyzések
Az explicit konverziós operátorok objektummá alakítható típusokat Complex határoznak meg. A nyelvi fordítók nem hajtják végre automatikusan ezt az átalakítást, mert adatvesztést okozhatnak. Ehelyett csak akkor hajtják végre az átalakítást, ha egy öntvény operátort (C#-ban) vagy egy átalakítási függvényt (például CType Visual Basic) használnak. Ellenkező esetben fordítóhiba jelenik meg.
Egy érték komplex szám valós részére való konvertálása BigInteger pontosságvesztést eredményezhet, mivel a Doublekomplex szám Real tulajdonságának típusa kevesebb jelentős számjegyből áll, mint egy BigInteger.
Ha az átalakítás sikertelen, mert az BigInteger érték kívül esik a Double típus tartományán, a művelet nem ad eredményül OverflowException. Ehelyett, ha value kisebb, mintMinValue, az eredmény egy összetett szám, amelynek Real tulajdonságértéke megegyezik .NegativeInfinity Ha value nagyobbMaxValue, akkor az eredmény egy összetett szám, amelynek Real tulajdonságértéke egyenlő.PositiveInfinity
A következőre érvényes:
Explicit(Decimal to Complex)
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
Egy érték explicit konvertálását Decimal határozza meg összetett számra.
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
Paraméterek
- value
- Decimal
A komplex számmá konvertálandó érték.
Válaszok
Olyan összetett szám, amelynek valós összetevője egyenlő, value és egy képzeletbeli összetevő nullával egyenlő.
Példák
Az alábbi példa az értékek értékké alakítását Decimal szemléltetiComplex.
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)
Megjegyzések
Az explicit konverziós operátorok objektummá alakítható típusokat Complex határoznak meg. A nyelvi fordítók nem hajtják végre automatikusan ezt az átalakítást, mert adatvesztést okozhatnak. Ehelyett csak akkor hajtják végre az átalakítást, ha egy öntvény operátort (C#-ban) vagy egy átalakítási függvényt (például CType Visual Basic) használnak. Ellenkező esetben fordítóhiba jelenik meg.
Egy érték komplex szám valós részére való konvertálása Decimal pontosságvesztést eredményezhet, mivel a Doublekomplex szám Real tulajdonságának típusa kevesebb jelentős számjegyből áll, mint egy Decimal.
A következőre érvényes:
Explicit(Int128 to Complex)
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
- Forrás:
- Complex.cs
Explicit módon konvertál egy Int128 értéket dupla pontosságú összetett számmá.
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
Paraméterek
- value
- Int128
Az átalakítandó érték.
Válaszok
value kettős pontosságú komplex számmá konvertálva.