Nyelv

Complex.Explicit Operátor

Definíció

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.

A következőre érvényes: