Complex.Explicit Operador
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define uma conversão explícita entre um objeto Complex e outro tipo.
Sobrecargas
Explicit(UInt128 to Complex) |
Converte explicitamente um UInt128 valor em um número complexo de precisão dupla. |
Explicit(BigInteger to Complex) |
Define uma conversão explícita de um valor BigInteger para um número complexo. |
Explicit(Decimal to Complex) |
Define uma conversão explícita de um valor Decimal para um número complexo. |
Explicit(Int128 to Complex) |
Converte explicitamente um Int128 valor em um número complexo de precisão dupla. |
Explicit(UInt128 to Complex)
- Origem:
- Complex.cs
- Origem:
- Complex.cs
- Origem:
- Complex.cs
Importante
Esta API não está em conformidade com CLS.
Converte explicitamente um UInt128 valor em um número complexo de precisão dupla.
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
O valor a ser convertido.
Retornos
value
convertido em um número complexo de precisão dupla.
- Atributos
Aplica-se a
Explicit(BigInteger to Complex)
- Origem:
- Complex.cs
- Origem:
- Complex.cs
- Origem:
- Complex.cs
Define uma conversão explícita de um valor BigInteger para um número complexo.
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
O valor a ser convertido em um número complexo.
Retornos
Um número complexo que tem um componente real igual a value
e um componente imaginário igual a zero.
Exemplos
O exemplo a seguir ilustra a conversão explícita de BigInteger valores em 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)
Comentários
Operadores de conversão explícitos definem tipos que podem ser convertidos em um Complex objeto . Os compiladores de linguagem não executam essa conversão automaticamente porque ela pode envolver perda de dados. Em vez disso, eles executam a conversão somente se um operador de conversão (em C#) ou uma função de conversão (como CType
no Visual Basic) for usado. Caso contrário, eles exibem um erro do compilador.
A conversão de um BigInteger valor para a parte real de um número complexo pode resultar em uma perda de precisão porque um Double, que é o tipo da propriedade do Real número complexo, tem menos dígitos significativos do que um BigInteger.
Se a conversão não for bem-sucedida porque o BigInteger valor está fora do intervalo do Double tipo, a operação não gerará um OverflowException. Em vez disso, se value
for menor que MinValue, o resultado será um número complexo que tem um Real valor de propriedade igual a NegativeInfinity. Se value
for maior que MaxValue, o resultado será um número complexo que tem um Real valor de propriedade igual a PositiveInfinity.
Aplica-se a
Explicit(Decimal to Complex)
- Origem:
- Complex.cs
- Origem:
- Complex.cs
- Origem:
- Complex.cs
Define uma conversão explícita de um valor Decimal para um número complexo.
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
O valor a ser convertido em um número complexo.
Retornos
Um número complexo que tem um componente real igual a value
e um componente imaginário igual a zero.
Exemplos
O exemplo a seguir ilustra a conversão explícita de Decimal valores em 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)
Comentários
Operadores de conversão explícitos definem tipos que podem ser convertidos em um Complex objeto . Os compiladores de linguagem não executam essa conversão automaticamente porque ela pode envolver perda de dados. Em vez disso, eles executam a conversão somente se um operador de conversão (em C#) ou uma função de conversão (como CType
no Visual Basic) for usado. Caso contrário, eles exibem um erro do compilador.
A conversão de um Decimal valor para a parte real de um número complexo pode resultar em uma perda de precisão porque um Double, que é o tipo da propriedade do Real número complexo, tem menos dígitos significativos do que um Decimal.
Aplica-se a
Explicit(Int128 to Complex)
- Origem:
- Complex.cs
- Origem:
- Complex.cs
- Origem:
- Complex.cs
Converte explicitamente um Int128 valor em um número complexo de precisão dupla.
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
O valor a ser convertido.
Retornos
value
convertido em um número complexo de precisão dupla.