Complex.Explicit Operator
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje jawną konwersję między obiektem a innym typem Complex .
Przeciążenia
Explicit(UInt128 to Complex) |
Jawnie konwertuje UInt128 wartość na liczbę zespolonej o podwójnej precyzji. |
Explicit(BigInteger to Complex) |
Definiuje jawną konwersję BigInteger wartości na liczbę zespolonej. |
Explicit(Decimal to Complex) |
Definiuje jawną konwersję Decimal wartości na liczbę zespolonej. |
Explicit(Int128 to Complex) |
Jawnie konwertuje Int128 wartość na liczbę zespolonej o podwójnej precyzji. |
Explicit(UInt128 to Complex)
- Źródło:
- Complex.cs
- Źródło:
- Complex.cs
- Źródło:
- Complex.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Jawnie konwertuje UInt128 wartość na liczbę zespolonej o podwójnej precyzji.
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
Parametry
- value
- UInt128
Wartość do konwersji.
Zwraca
value
przekonwertowany na liczbę zespolonej o podwójnej precyzji.
- Atrybuty
Dotyczy
Explicit(BigInteger to Complex)
- Źródło:
- Complex.cs
- Źródło:
- Complex.cs
- Źródło:
- Complex.cs
Definiuje jawną konwersję BigInteger wartości na liczbę zespolonej.
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
Parametry
- value
- BigInteger
Wartość do konwersji na liczbę zespolonej.
Zwraca
Liczba zespolona, która ma rzeczywisty składnik równy value
i wyimaginowany składnik równy zero.
Przykłady
Poniższy przykład ilustruje jawną konwersję BigInteger wartości na Complex wartości.
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)
Uwagi
Jawne operatory konwersji definiują typy, które można przekonwertować na Complex obiekt. Kompilatory języka nie wykonują tej konwersji automatycznie, ponieważ mogą one obejmować utratę danych. Zamiast tego wykonują konwersję tylko wtedy, gdy jest używany operator rzutowania (w języku C#) lub funkcja konwersji (np CType
. w Visual Basic). W przeciwnym razie wyświetlają błąd kompilatora.
Konwersja BigInteger wartości na rzeczywistą część liczby zespolonej może spowodować utratę dokładności, ponieważ Doublewłaściwość , która jest typem właściwości liczby Real zespolonej, ma mniej cyfr znaczących niż BigInteger.
Jeśli konwersja nie powiedzie się, ponieważ BigInteger wartość jest poza zakresem Double typu, operacja nie zgłasza OverflowExceptionwartości . Zamiast tego, jeśli value
wartość jest mniejsza niż MinValue, wynikiem jest liczba zespolona, która ma wartość właściwości równą RealNegativeInfinity. Jeśli value
wartość jest większa niż MaxValue, wynikiem jest liczba zespolona, która ma wartość właściwości równą RealPositiveInfinity.
Dotyczy
Explicit(Decimal to Complex)
- Źródło:
- Complex.cs
- Źródło:
- Complex.cs
- Źródło:
- Complex.cs
Definiuje jawną konwersję Decimal wartości na liczbę zespolonej.
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
Parametry
- value
- Decimal
Wartość do konwersji na liczbę zespolonej.
Zwraca
Liczba zespolona, która ma rzeczywisty składnik równy value
i wyimaginowany składnik równy zero.
Przykłady
Poniższy przykład ilustruje jawną konwersję Decimal wartości na Complex wartości.
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)
Uwagi
Jawne operatory konwersji definiują typy, które można przekonwertować na Complex obiekt. Kompilatory języka nie wykonują tej konwersji automatycznie, ponieważ mogą one obejmować utratę danych. Zamiast tego wykonują konwersję tylko wtedy, gdy jest używany operator rzutowania (w języku C#) lub funkcja konwersji (np CType
. w Visual Basic). W przeciwnym razie wyświetlają błąd kompilatora.
Konwersja Decimal wartości na rzeczywistą część liczby zespolonej może spowodować utratę dokładności, ponieważ Doublewłaściwość , która jest typem właściwości liczby Real zespolonej, ma mniej cyfr znaczących niż Decimal.
Dotyczy
Explicit(Int128 to Complex)
- Źródło:
- Complex.cs
- Źródło:
- Complex.cs
- Źródło:
- Complex.cs
Jawnie konwertuje Int128 wartość na liczbę zespolonej o podwójnej precyzji.
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
Parametry
- value
- Int128
Wartość do konwersji.
Zwraca
value
przekonwertowany na liczbę zespolonej o podwójnej precyzji.