Freigeben über


Complex.Explicit Operator

Definition

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

Überlädt

Name Beschreibung
Explicit(UInt128 to Complex)

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

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)

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

Explicit(UInt128 to Complex)

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

Wichtig

Diese API ist nicht CLS-kompatibel.

Wandelt einen UInt128 Wert explizit in eine komplexe Zahl mit doppelter Genauigkeit 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 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
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, die eine reale Komponente gleich value und eine imaginäre Komponente gleich Null aufweist.

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)
    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 sie Datenverluste beinhalten 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 BigInteger Werts in den tatsächlichen Teil einer komplexen Zahl kann zu einem Genauigkeitsverlust führen, da ein DoubleWert , der der Typ der Eigenschaft der komplexen Zahl Real ist, weniger signifikante Ziffern als eine BigIntegerhat.

Wenn die Konvertierung nicht erfolgreich ist, da sich der BigInteger Wert außerhalb des Double Typbereichs befindet, löst OverflowExceptionder Vorgang keinen . value Wenn das Ergebnis kleiner als MinValueist, handelt es sich stattdessen um eine komplexe Zahl, die einen Real Eigenschaftswert aufweist, der NegativeInfinitygleich ist. Wenn value größer als MaxValueist, ist das Ergebnis eine komplexe Zahl, die einen Real Eigenschaftswert aufweist, der PositiveInfinitygleich ist.

Gilt für:

Explicit(Decimal to Complex)

Quelle:
Complex.cs
Quelle:
Complex.cs
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, die eine reale Komponente gleich value und eine imaginäre Komponente gleich Null aufweist.

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)
    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 sie Datenverluste beinhalten 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 Decimal Werts in den tatsächlichen Teil einer komplexen Zahl kann zu einem Genauigkeitsverlust führen, da ein DoubleWert , der der Typ der Eigenschaft der komplexen Zahl Real ist, weniger signifikante Ziffern als eine Decimalhat.

Gilt für:

Explicit(Int128 to Complex)

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

Wandelt einen Int128 Wert explizit in eine komplexe Zahl mit doppelter Genauigkeit 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 in eine komplexe Zahl mit doppelter Genauigkeit konvertiert.

Gilt für: