Complex.Explicit Оператор
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет явное преобразование между объектом типа Complex и другим типом.
Перегрузки
Explicit(UInt128 to Complex) |
Явным образом преобразует значение в UInt128 комплексное число двойной точности. |
Explicit(BigInteger to Complex) |
Определяет явное преобразование значения BigInteger в комплексное число. |
Explicit(Decimal to Complex) |
Определяет явное преобразование значения Decimal в комплексное число. |
Explicit(Int128 to Complex) |
Явным образом преобразует значение в Int128 комплексное число двойной точности. |
Explicit(UInt128 to Complex)
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
Важно!
Этот API несовместим с CLS.
Явным образом преобразует значение в UInt128 комплексное число двойной точности.
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
Параметры
- value
- UInt128
Преобразуемое значение.
Возвращаемое значение
value
преобразуется в комплексное число двойной точности.
- Атрибуты
Применяется к
Explicit(BigInteger to Complex)
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
Определяет явное преобразование значения BigInteger в комплексное число.
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
Параметры
- value
- BigInteger
Значение, преобразуемое в комплексное число.
Возвращаемое значение
Комплексное число, вещественная часть которого равна параметру value
, а мнимая часть равна нулю.
Примеры
В следующем примере показано явное преобразование значений BigInteger в Complex значения.
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)
Комментарии
Операторы явного преобразования определяют типы, которые можно преобразовать в Complex объект . Языковые компиляторы не выполняют это преобразование автоматически, так как это может привести к потере данных. Вместо этого они выполняют преобразование только в том случае, если используется оператор приведения (в C#) или функция преобразования (например CType
, в Visual Basic). В противном случае отображается ошибка компилятора.
Преобразование BigInteger значения в веществительную часть комплексного числа может привести к потере точности, так как Double, который является типом свойства комплексного числа Real , имеет меньше значимых цифр, чем BigInteger.
Если преобразование завершается неудачно из-за того, что BigInteger значение выходит за пределы Double диапазона типа, операция не выдает OverflowException. Вместо этого, если value
меньше MinValue, результатом является комплексное число, которое имеет Real значение свойства, равное NegativeInfinity. Если value
значение больше MaxValue, результатом является комплексное число, которое имеет Real значение свойства, равное PositiveInfinity.
Применяется к
Explicit(Decimal to Complex)
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
Определяет явное преобразование значения Decimal в комплексное число.
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
Параметры
- value
- Decimal
Значение, преобразуемое в комплексное число.
Возвращаемое значение
Комплексное число, вещественная часть которого равна параметру value
, а мнимая часть равна нулю.
Примеры
В следующем примере показано явное преобразование значений Decimal в Complex значения.
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)
Комментарии
Операторы явного преобразования определяют типы, которые можно преобразовать в Complex объект . Языковые компиляторы не выполняют это преобразование автоматически, так как это может привести к потере данных. Вместо этого они выполняют преобразование только в том случае, если используется оператор приведения (в C#) или функция преобразования (например CType
, в Visual Basic). В противном случае отображается ошибка компилятора.
Преобразование Decimal значения в веществительную часть комплексного числа может привести к потере точности, так как Double, который является типом свойства комплексного числа Real , имеет меньше значимых цифр, чем Decimal.
Применяется к
Explicit(Int128 to Complex)
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
Явным образом преобразует значение в Int128 комплексное число двойной точности.
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
Параметры
- value
- Int128
Преобразуемое значение.
Возвращаемое значение
value
преобразуется в комплексное число двойной точности.