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
- Исходный код:
- 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
- Исходный код:
- 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исключение. Вместо этого, если valueMinValueменьше, результатом является комплексное число, которое имеет Real значение свойства, равное NegativeInfinity. Если value значение больше MaxValue, результатом является комплексное число, которое имеет Real значение свойства, равное PositiveInfinity.
Применяется к
Explicit(Decimal to Complex)
- Исходный код:
- Complex.cs
- Исходный код:
- Complex.cs
- Исходный код:
- 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
- Исходный код:
- 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 преобразуется в комплексное число двойной точности.