Complex.Explicit Operator

Definitie

Definieert een expliciete conversie tussen een Complex object en een ander type.

Overloads

Name Description
Explicit(UInt128 to Complex)

Converteert expliciet een UInt128 waarde naar een complex getal met dubbele precisie.

Explicit(BigInteger to Complex)

Definieert een expliciete conversie van een BigInteger waarde naar een complex getal.

Explicit(Decimal to Complex)

Definieert een expliciete conversie van een Decimal waarde naar een complex getal.

Explicit(Int128 to Complex)

Converteert expliciet een Int128 waarde naar een complex getal met dubbele precisie.

Explicit(UInt128 to Complex)

Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs

Belangrijk

Deze API is niet CLS-conform.

Converteert expliciet een UInt128 waarde naar een complex getal met dubbele precisie.

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

Parameters

value
UInt128

De waarde die moet worden geconverteerd.

Retouren

value geconverteerd naar een complex getal met dubbele precisie.

Kenmerken

Van toepassing op

Explicit(BigInteger to Complex)

Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs

Definieert een expliciete conversie van een BigInteger waarde naar een complex getal.

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

Parameters

value
BigInteger

De waarde die moet worden geconverteerd naar een complex getal.

Retouren

Een complex getal met een reëel onderdeel dat gelijk is aan value en een imaginair onderdeel gelijk aan nul.

Voorbeelden

In het volgende voorbeeld ziet u de expliciete conversie van BigInteger waarden naar Complex waarden.

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)

Opmerkingen

Expliciete conversieoperators definiëren typen die kunnen worden geconverteerd naar een Complex object. Taalcompilers voeren deze conversie niet automatisch uit omdat dit gegevensverlies kan veroorzaken. In plaats daarvan voeren ze de conversie alleen uit als een cast-operator (in C#) of een conversiefunctie (zoals CType in Visual Basic) wordt gebruikt. Anders geven ze een compilerfout weer.

De conversie van een BigInteger waarde naar het werkelijke deel van een complex getal kan leiden tot een verlies van precisie omdat een Double, wat het type van de eigenschap van het complexe getal Real is, minder significante cijfers heeft dan een BigInteger.

Als de conversie mislukt omdat de BigInteger waarde buiten het bereik van het Double type valt, genereert OverflowExceptionde bewerking geen . value Als dit kleiner is danMinValue, is het resultaat een complex getal dat een Real eigenschapswaarde heeft die gelijk is aan NegativeInfinity. Als value dit groter is dan MaxValue, is het resultaat een complex getal dat een Real eigenschapswaarde heeft die gelijk is aan PositiveInfinity.

Van toepassing op

Explicit(Decimal to Complex)

Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs

Definieert een expliciete conversie van een Decimal waarde naar een complex getal.

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

Parameters

value
Decimal

De waarde die moet worden geconverteerd naar een complex getal.

Retouren

Een complex getal met een reëel onderdeel dat gelijk is aan value en een imaginair onderdeel gelijk aan nul.

Voorbeelden

In het volgende voorbeeld ziet u de expliciete conversie van Decimal waarden naar Complex waarden.

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)

Opmerkingen

Expliciete conversieoperators definiëren typen die kunnen worden geconverteerd naar een Complex object. Taalcompilers voeren deze conversie niet automatisch uit omdat dit gegevensverlies kan veroorzaken. In plaats daarvan voeren ze de conversie alleen uit als een cast-operator (in C#) of een conversiefunctie (zoals CType in Visual Basic) wordt gebruikt. Anders geven ze een compilerfout weer.

De conversie van een Decimal waarde naar het werkelijke deel van een complex getal kan leiden tot een verlies van precisie omdat een Double, wat het type van de eigenschap van het complexe getal Real is, minder significante cijfers heeft dan een Decimal.

Van toepassing op

Explicit(Int128 to Complex)

Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs
Bron:
Complex.cs

Converteert expliciet een Int128 waarde naar een complex getal met dubbele precisie.

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

Parameters

value
Int128

De waarde die moet worden geconverteerd.

Retouren

value geconverteerd naar een complex getal met dubbele precisie.

Van toepassing op