Complex.Explicit Operator

Definition

Definiert eine explizite Konvertierung zwischen einem Complex-Objekt und einem anderen Typ.

Überlädt

Explicit(UInt128 to Complex)

Konvertiert einen UInt128 Wert explizit in eine komplexe Zahl mit doppelter Genauigkeit.

Explicit(BigInteger to Complex)

Definiert eine explizite Konvertierung eines BigInteger-Werts in eine komplexe Zahl.

Explicit(Decimal to Complex)

Definiert eine explizite Konvertierung eines Decimal-Werts in eine komplexe Zahl.

Explicit(Int128 to Complex)

Konvertiert einen Int128 Wert explizit in eine komplexe Zahl mit doppelter Genauigkeit.

Explicit(UInt128 to Complex)

Quelle:
Complex.cs
Quelle:
Complex.cs
Quelle:
Complex.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Konvertiert einen UInt128 Wert explizit in eine komplexe Zahl mit doppelter Genauigkeit.

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 in eine komplexe Zahl mit doppelter Genauigkeit konvertiert.

Attribute

Gilt für:

Explicit(BigInteger to Complex)

Quelle:
Complex.cs
Quelle:
Complex.cs
Quelle:
Complex.cs

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

Das folgende Beispiel veranschaulicht die explizite Konvertierung von BigInteger Werten in Complex Werte.

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)

Hinweise

Explizite Konvertierungsoperatoren definieren Typen, die in ein Complex Objekt konvertiert werden können. Sprachcompiler führen diese Konvertierung nicht automatisch durch, da dies zu Datenverlust führen kann. Stattdessen wird die Konvertierung nur ausgeführt, wenn ein Umwandlungsoperator (in C#) oder eine Konvertierungsfunktion (z CType . B. in Visual Basic) verwendet wird. Andernfalls wird ein Compilerfehler angezeigt.

Die Konvertierung eines BigInteger Werts in den realen Teil einer komplexen Zahl kann zu einem Genauigkeitsverlust führen, da ein Double- der Typ der Eigenschaft der komplexen Zahl Real - weniger signifikante Ziffern aufweist als ein BigInteger.

Wenn die Konvertierung nicht erfolgreich ist, weil sich der BigInteger Wert außerhalb des Bereichs des Double Typs befindet, löst der Vorgang keinen aus OverflowException. Wenn value stattdessen kleiner als MinValueist, ist das Ergebnis eine komplexe Zahl, die über einen Real Eigenschaftswert gleich verfügt NegativeInfinity. Wenn value größer als MaxValueist, ist das Ergebnis eine komplexe Zahl, die einen Real Eigenschaftswert hat, der gleich ist PositiveInfinity.

Gilt für:

Explicit(Decimal to Complex)

Quelle:
Complex.cs
Quelle:
Complex.cs
Quelle:
Complex.cs

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

Das folgende Beispiel veranschaulicht die explizite Konvertierung von Decimal Werten in Complex Werte.

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)

Hinweise

Explizite Konvertierungsoperatoren definieren Typen, die in ein Complex Objekt konvertiert werden können. Sprachcompiler führen diese Konvertierung nicht automatisch durch, da dies zu Datenverlust führen kann. Stattdessen wird die Konvertierung nur ausgeführt, wenn ein Umwandlungsoperator (in C#) oder eine Konvertierungsfunktion (z CType . B. in Visual Basic) verwendet wird. Andernfalls wird ein Compilerfehler angezeigt.

Die Konvertierung eines Decimal Werts in den realen Teil einer komplexen Zahl kann zu einem Genauigkeitsverlust führen, da ein Double- der Typ der Eigenschaft der komplexen Zahl Real - weniger signifikante Ziffern aufweist als ein Decimal.

Gilt für:

Explicit(Int128 to Complex)

Quelle:
Complex.cs
Quelle:
Complex.cs
Quelle:
Complex.cs

Konvertiert einen Int128 Wert explizit in eine komplexe Zahl mit doppelter Genauigkeit.

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 in eine komplexe Zahl mit doppelter Genauigkeit konvertiert.

Gilt für: