Complex.Explicit Betreiber
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.
Definiert eine explizite Konvertierung zwischen einem Complex-Objekt und einem anderen Typ.
Überlädt
| Explicit(Decimal to Complex) |
Definiert eine explizite Konvertierung eines Decimal-Werts in eine komplexe Zahl. |
| Explicit(Int128 to Complex) |
Wandelt einen Int128 Wert explizit in eine doppelgenaue komplexe Zahl um. |
| Explicit(BigInteger to Complex) |
Definiert eine explizite Konvertierung eines BigInteger-Werts in eine komplexe Zahl. |
| Explicit(UInt128 to Complex) |
Wandelt einen UInt128 Wert explizit in eine doppelgenaue komplexe Zahl um. |
Explicit(Decimal to Complex)
Definiert eine explizite Konvertierung eines Decimal-Werts in eine komplexe Zahl.
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
Parameter
- value
- Decimal
Der Wert, der in eine komplexe Zahl konvertiert werden soll.
Gibt zurück
Eine komplexe Zahl mit einer reellen Komponente gleich value und einer imaginären Komponente gleich 0.
Beispiele
Im folgenden Beispiel wird die explizite Konvertierung von Decimal Werten in Complex Werte veranschaulicht.
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)
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)
Hinweise
Explizite Konvertierungsoperatoren definieren Typen, die in ein Complex Objekt konvertiert werden können. Sprachcompiler führen diese Konvertierung nicht automatisch aus, da sie Datenverlust erfordern kann. Stattdessen führen sie die Konvertierung nur aus, wenn ein Umwandlungsoperator (in C#) oder eine Konvertierungsfunktion (z CType . B. in Visual Basic) verwendet wird. Andernfalls wird ein Compilerfehler angezeigt.
Die Konvertierung eines Werts in den realen Teil einer Decimal komplexen Zahl kann zu einem Verlust der Genauigkeit führen, da ein Double, der Typ der Eigenschaft der komplexen Real Zahl ist, weniger signifikante Ziffern als eine Decimal.
Gilt für:
Explicit(Int128 to Complex)
Wandelt einen Int128 Wert explizit in eine doppelgenaue komplexe Zahl um.
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
Parameter
- value
- Int128
Der zu konvertierende Wert.
Gibt zurück
value konvertiert in eine doppelgenaue komplexe Zahl.
Gilt für:
Explicit(BigInteger to Complex)
Definiert eine explizite Konvertierung eines BigInteger-Werts in eine komplexe Zahl.
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
Parameter
- value
- BigInteger
Der Wert, der in eine komplexe Zahl konvertiert werden soll.
Gibt zurück
Eine komplexe Zahl mit einer reellen Komponente gleich value und einer imaginären Komponente gleich 0.
Beispiele
Im folgenden Beispiel wird die explizite Konvertierung von BigInteger Werten in Complex Werte veranschaulicht.
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)
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)
Hinweise
Explizite Konvertierungsoperatoren definieren Typen, die in ein Complex Objekt konvertiert werden können. Sprachcompiler führen diese Konvertierung nicht automatisch aus, da sie Datenverlust erfordern kann. Stattdessen führen sie die Konvertierung nur aus, wenn ein Umwandlungsoperator (in C#) oder eine Konvertierungsfunktion (z CType . B. in Visual Basic) verwendet wird. Andernfalls wird ein Compilerfehler angezeigt.
Die Konvertierung eines Werts in den realen Teil einer BigInteger komplexen Zahl kann zu einem Verlust der Genauigkeit führen, da ein Double, der Typ der Eigenschaft der komplexen Real Zahl ist, weniger signifikante Ziffern als eine BigInteger.
Wenn die Konvertierung nicht erfolgreich ist, da der BigInteger Wert außerhalb des Bereichs des Double Typs liegt, wird der Vorgang nicht ausgelöst OverflowException. Stattdessen value ist das Ergebnis eine MinValuekomplexe Zahl, die einen Real Eigenschaftswert hat, der gleich ist NegativeInfinity. Wenn value größer MaxValueals , ist das Ergebnis eine komplexe Zahl, die einen Real Eigenschaftswert gleich hat PositiveInfinity.
Gilt für:
Explicit(UInt128 to Complex)
Wichtig
Diese API ist nicht CLS-kompatibel.
Wandelt einen UInt128 Wert explizit in eine doppelgenaue komplexe Zahl um.
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
Parameter
- value
- UInt128
Der zu konvertierende Wert.
Gibt zurück
value konvertiert in eine doppelgenaue komplexe Zahl.
- Attribute