Complex.Explicit Operatore

Definizione

Definisce una conversione esplicita tra un oggetto Complex e un altro tipo.

Overload

Explicit(UInt128 to Complex)

Converte in modo esplicito un UInt128 valore in un numero complesso a precisione doppia.

Explicit(BigInteger to Complex)

Definisce una conversione esplicita di un valore BigInteger in un numero complesso.

Explicit(Decimal to Complex)

Definisce una conversione esplicita di un valore Decimal in un numero complesso.

Explicit(Int128 to Complex)

Converte in modo esplicito un Int128 valore in un numero complesso a precisione doppia.

Explicit(UInt128 to Complex)

Origine:
Complex.cs
Origine:
Complex.cs
Origine:
Complex.cs

Importante

Questa API non è conforme a CLS.

Converte in modo esplicito un UInt128 valore in un numero complesso a precisione doppia.

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

Parametri

value
UInt128

Valore da convertire.

Restituisce

value convertito in un numero complesso di precisione doppia.

Attributi

Si applica a

Explicit(BigInteger to Complex)

Origine:
Complex.cs
Origine:
Complex.cs
Origine:
Complex.cs

Definisce una conversione esplicita di un valore BigInteger in un numero complesso.

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

Parametri

value
BigInteger

Valore da convertire in un numero complesso.

Restituisce

Numero complesso contenente un componente reale uguale a value e un componente immaginario uguale a zero.

Esempio

Nell'esempio seguente viene illustrata la conversione esplicita dei BigInteger valori in Complex valori.

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)

Commenti

Gli operatori di conversione espliciti definiscono i tipi che possono essere convertiti in un Complex oggetto. I compilatori del linguaggio non eseguono automaticamente questa conversione perché possono comportare la perdita di dati. Eseguono invece la conversione solo se viene usato un operatore di cast (in C#) o una funzione di conversione (ad esempio CType in Visual Basic). In caso contrario, visualizzano un errore del compilatore.

La conversione di un valore nella parte reale di un BigInteger numero complesso può comportare una perdita di precisione perché un Doubleoggetto , ovvero il tipo della proprietà del numero Real complesso, ha meno cifre significative di un BigIntegeroggetto .

Se la conversione non riesce perché il BigInteger valore non è compreso nell'intervallo del Double tipo, l'operazione non genera un OverflowExceptionoggetto . Se invece è minore MinValuedi , il risultato è un numero complesso che ha un Real valore di proprietà uguale a NegativeInfinity.value Se value è maggiore di MaxValue, il risultato è un numero complesso che ha un Real valore di proprietà uguale a PositiveInfinity.

Si applica a

Explicit(Decimal to Complex)

Origine:
Complex.cs
Origine:
Complex.cs
Origine:
Complex.cs

Definisce una conversione esplicita di un valore Decimal in un numero complesso.

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

Parametri

value
Decimal

Valore da convertire in un numero complesso.

Restituisce

Numero complesso contenente un componente reale uguale a value e un componente immaginario uguale a zero.

Esempio

Nell'esempio seguente viene illustrata la conversione esplicita dei Decimal valori in Complex valori.

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)

Commenti

Gli operatori di conversione espliciti definiscono i tipi che possono essere convertiti in un Complex oggetto. I compilatori del linguaggio non eseguono automaticamente questa conversione perché possono comportare la perdita di dati. Eseguono invece la conversione solo se viene usato un operatore di cast (in C#) o una funzione di conversione (ad esempio CType in Visual Basic). In caso contrario, visualizzano un errore del compilatore.

La conversione di un valore nella parte reale di un Decimal numero complesso può comportare una perdita di precisione perché un Doubleoggetto , ovvero il tipo della proprietà del numero Real complesso, ha meno cifre significative di un Decimaloggetto .

Si applica a

Explicit(Int128 to Complex)

Origine:
Complex.cs
Origine:
Complex.cs
Origine:
Complex.cs

Converte in modo esplicito un Int128 valore in un numero complesso a precisione doppia.

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

Parametri

value
Int128

Valore da convertire.

Restituisce

value convertito in un numero complesso di precisione doppia.

Si applica a