Complex.Explicit Operador
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Define una conversión explícita entre un objeto Complex y otro tipo.
Sobrecargas
Explicit(UInt128 to Complex) |
Convierte explícitamente un UInt128 valor en un número complejo de precisión doble. |
Explicit(BigInteger to Complex) |
Define una conversión explícita de un valor BigInteger a un número complejo. |
Explicit(Decimal to Complex) |
Define una conversión explícita de un valor Decimal a un número complejo. |
Explicit(Int128 to Complex) |
Convierte explícitamente un Int128 valor en un número complejo de precisión doble. |
Explicit(UInt128 to Complex)
- Source:
- Complex.cs
- Source:
- Complex.cs
- Source:
- Complex.cs
Importante
Esta API no es conforme a CLS.
Convierte explícitamente un UInt128 valor en un número complejo de precisión doble.
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
Parámetros
- value
- UInt128
Valor que se va a convertir.
Devoluciones
value
convertido en un número complejo de precisión doble.
- Atributos
Se aplica a
Explicit(BigInteger to Complex)
- Source:
- Complex.cs
- Source:
- Complex.cs
- Source:
- Complex.cs
Define una conversión explícita de un valor BigInteger a un número complejo.
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
Parámetros
- value
- BigInteger
Valor que se va a convertir en un número complejo.
Devoluciones
Número complejo con un componente real igual a value
y un componente imaginario igual a cero.
Ejemplos
En el ejemplo siguiente se muestra la conversión explícita de BigInteger valores a Complex valores.
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)
Comentarios
Los operadores de conversión explícitos definen tipos que se pueden convertir en un Complex objeto . Los compiladores de lenguaje no realizan esta conversión automáticamente porque pueden implicar la pérdida de datos. En su lugar, realizan la conversión solo si se usa un operador de conversión (en C#) o una función de conversión (como CType
en Visual Basic). De lo contrario, muestran un error del compilador.
La conversión de un BigInteger valor a la parte real de un número complejo puede dar lugar a una pérdida de precisión porque , Doubleque es el tipo de la propiedad del Real número complejo, tiene menos dígitos significativos que un BigInteger.
Si la conversión no se realiza correctamente porque el BigInteger valor está fuera del intervalo del Double tipo, la operación no inicia una OverflowExceptionexcepción . En su lugar, si value
es menor que MinValue, el resultado es un número complejo que tiene un Real valor de propiedad igual a NegativeInfinity. Si value
es mayor que MaxValue, el resultado es un número complejo que tiene un Real valor de propiedad igual a PositiveInfinity.
Se aplica a
Explicit(Decimal to Complex)
- Source:
- Complex.cs
- Source:
- Complex.cs
- Source:
- Complex.cs
Define una conversión explícita de un valor Decimal a un número complejo.
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
Parámetros
- value
- Decimal
Valor que se va a convertir en un número complejo.
Devoluciones
Número complejo con un componente real igual a value
y un componente imaginario igual a cero.
Ejemplos
En el ejemplo siguiente se muestra la conversión explícita de Decimal valores a Complex valores.
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)
Comentarios
Los operadores de conversión explícitos definen tipos que se pueden convertir en un Complex objeto . Los compiladores de lenguaje no realizan esta conversión automáticamente porque pueden implicar la pérdida de datos. En su lugar, realizan la conversión solo si se usa un operador de conversión (en C#) o una función de conversión (como CType
en Visual Basic). De lo contrario, muestran un error del compilador.
La conversión de un Decimal valor a la parte real de un número complejo puede dar lugar a una pérdida de precisión porque , Doubleque es el tipo de la propiedad del Real número complejo, tiene menos dígitos significativos que un Decimal.
Se aplica a
Explicit(Int128 to Complex)
- Source:
- Complex.cs
- Source:
- Complex.cs
- Source:
- Complex.cs
Convierte explícitamente un Int128 valor en un número complejo de precisión doble.
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
Parámetros
- value
- Int128
Valor que se va a convertir.
Devoluciones
value
convertido en un número complejo de precisión doble.