Complex.Explicit Opérateur

Définition

Définit une conversion explicite entre un objet Complex et un autre type.Defines an explicit conversion between a Complex object and another type.

Surcharges

Explicit(Decimal to Complex)

Définit une conversion explicite d'une valeur Decimal en nombre complexe.Defines an explicit conversion of a Decimal value to a complex number.

Explicit(BigInteger to Complex)

Définit une conversion explicite d'une valeur BigInteger en nombre complexe.Defines an explicit conversion of a BigInteger value to a complex number.

Explicit(Decimal to Complex)

Définit une conversion explicite d'une valeur Decimal en nombre complexe.Defines an explicit conversion of a Decimal value to a complex number.

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ètres

value
Decimal

Valeur à convertir en nombre complexe.The value to convert to a complex number.

Retours

Nombre complexe ayant un composant réel égal à value et un composant imaginaire égal à zéro.A complex number that has a real component equal to value and an imaginary component equal to zero.

Exemples

L’exemple suivant illustre la conversion explicite de valeurs Decimal en Complex valeurs.The following example illustrates the explicit conversion of Decimal values to Complex values.

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)
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)

Remarques

Les opérateurs de conversion explicite définissent les types qui peuvent être convertis en un objet Complex.Explicit conversion operators define types that can be converted to a Complex object. Les compilateurs de langage n’effectuent pas cette conversion automatiquement, car cela peut impliquer une perte de données.Language compilers do not perform this conversion automatically because it can involve data loss. Au lieu de cela, ils effectuent la conversion uniquement si un C#opérateur de cast (en) ou une fonction de conversion (comme CType dans Visual Basic) est utilisé.Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType in Visual Basic) is used. Dans le cas contraire, ils affichent une erreur du compilateur.Otherwise, they display a compiler error.

La conversion d’une valeur Decimal en la partie réelle d’un nombre complexe peut entraîner une perte de précision, car un Double, qui est le type de la propriété Real du nombre complexe, a moins de chiffres significatifs qu’un Decimal.The conversion of a Decimal value to the real part of a complex number can result in a loss of precision because a Double, which is the type of the complex number's Real property, has fewer significant digits than a Decimal.

Explicit(BigInteger to Complex)

Définit une conversion explicite d'une valeur BigInteger en nombre complexe.Defines an explicit conversion of a BigInteger value to a complex number.

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ètres

value
BigInteger

Valeur à convertir en nombre complexe.The value to convert to a complex number.

Retours

Nombre complexe ayant un composant réel égal à value et un composant imaginaire égal à zéro.A complex number that has a real component equal to value and an imaginary component equal to zero.

Exemples

L’exemple suivant illustre la conversion explicite de valeurs BigInteger en Complex valeurs.The following example illustrates the explicit conversion of BigInteger values to Complex values.

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)      
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)      

Remarques

Les opérateurs de conversion explicite définissent les types qui peuvent être convertis en un objet Complex.Explicit conversion operators define types that can be converted to a Complex object. Les compilateurs de langage n’effectuent pas cette conversion automatiquement, car cela peut impliquer une perte de données.Language compilers do not perform this conversion automatically because it can involve data loss. Au lieu de cela, ils effectuent la conversion uniquement si un C#opérateur de cast (en) ou une fonction de conversion (comme CType dans Visual Basic) est utilisé.Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType in Visual Basic) is used. Dans le cas contraire, ils affichent une erreur du compilateur.Otherwise, they display a compiler error.

La conversion d’une valeur BigInteger en la partie réelle d’un nombre complexe peut entraîner une perte de précision, car un Double, qui est le type de la propriété Real du nombre complexe, a moins de chiffres significatifs qu’un BigInteger.The conversion of a BigInteger value to the real part of a complex number can result in a loss of precision because a Double, which is the type of the complex number's Real property, has fewer significant digits than a BigInteger.

Si la conversion échoue parce que la valeur de BigInteger est en dehors de la plage du type de Double, l’opération ne lève pas d' OverflowException.If the conversion is unsuccessful because the BigInteger value is out of the range of the Double type, the operation does not throw an OverflowException. Au lieu de cela, si value est inférieur à MinValue, le résultat est un nombre complexe qui a une valeur de propriété Real égale à NegativeInfinity.Instead, if value is less than MinValue, the result is a complex number that has a Real property value equal to NegativeInfinity. Si value est supérieur à MaxValue, le résultat est un nombre complexe qui a une valeur de propriété Real égale à PositiveInfinity.If value is greater than MaxValue, the result is a complex number that has a Real property value equal to PositiveInfinity.

S’applique à