Complex.Explicit 연산자

정의

Complex 개체와 다른 형식 간의 명시적 변환을 정의합니다.Defines an explicit conversion between a Complex object and another type.

오버로드

Explicit(Decimal to Complex)

Decimal 값을 복소수로 변환하는 명시적 변환을 정의합니다.Defines an explicit conversion of a Decimal value to a complex number.

Explicit(BigInteger to Complex)

BigInteger 값을 복소수로 변환하는 명시적 변환을 정의합니다.Defines an explicit conversion of a BigInteger value to a complex number.

Explicit(Decimal to Complex)

Decimal 값을 복소수로 변환하는 명시적 변환을 정의합니다.Defines an explicit conversion of a Decimal value to a complex number.

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

복소수로 변환할 값입니다.The value to convert to a complex number.

반환

value와 일치하는 실수 구성 요소와 0과 일치하는 허수 구성 요소가 있는 복소수입니다.A complex number that has a real component equal to value and an imaginary component equal to zero.

예제

다음 예제에서는 Decimal 값을 Complex 값으로 명시적으로 변환 하는 방법을 보여 줍니다.The following example illustrates the explicit conversion of Decimal values to Complex values.

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)
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 개체로 변환할 수 있는 형식을 정의 합니다.Explicit conversion operators define types that can be converted to a Complex object. 데이터 손실 포함할 수 있으므로 언어 컴파일러에서는이 변환을 자동으로 수행 하지 마십시오.Language compilers do not perform this conversion automatically because it can involve data loss. 대신 캐스팅 연산자 (의 C#경우) 또는 변환 함수 (Visual Basic의 CType)를 사용 하는 경우에만 변환을 수행 합니다.Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType in Visual Basic) is used. 그렇지 않으면 컴파일러 오류가 표시 됩니다.Otherwise, they display a compiler error.

Decimal 값을 복소수의 실수부로 변환 하는 경우 복소수의 Real 속성 형식인 DoubleDecimal보다 유효 자릿수가 적기 때문에 전체 자릿수 손실이 발생할 수 있습니다.The conversion of a Decimal value to the real part of a complex number can result in a loss of precision because a Double, which is the type of the complex number's Real property, has fewer significant digits than a Decimal.

Explicit(BigInteger to Complex)

BigInteger 값을 복소수로 변환하는 명시적 변환을 정의합니다.Defines an explicit conversion of a BigInteger value to a complex number.

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

복소수로 변환할 값입니다.The value to convert to a complex number.

반환

value와 일치하는 실수 구성 요소와 0과 일치하는 허수 구성 요소가 있는 복소수입니다.A complex number that has a real component equal to value and an imaginary component equal to zero.

예제

다음 예제에서는 BigInteger 값을 Complex 값으로 명시적으로 변환 하는 방법을 보여 줍니다.The following example illustrates the explicit conversion of BigInteger values to Complex values.

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)      
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 개체로 변환할 수 있는 형식을 정의 합니다.Explicit conversion operators define types that can be converted to a Complex object. 데이터 손실 포함할 수 있으므로 언어 컴파일러에서는이 변환을 자동으로 수행 하지 마십시오.Language compilers do not perform this conversion automatically because it can involve data loss. 대신 캐스팅 연산자 (의 C#경우) 또는 변환 함수 (Visual Basic의 CType)를 사용 하는 경우에만 변환을 수행 합니다.Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType in Visual Basic) is used. 그렇지 않으면 컴파일러 오류가 표시 됩니다.Otherwise, they display a compiler error.

BigInteger 값을 복소수의 실수부로 변환 하는 경우 복소수의 Real 속성 형식인 DoubleBigInteger보다 유효 자릿수가 적기 때문에 전체 자릿수 손실이 발생할 수 있습니다.The conversion of a BigInteger value to the real part of a complex number can result in a loss of precision because a Double, which is the type of the complex number's Real property, has fewer significant digits than a BigInteger.

BigInteger 값이 Double 형식의 범위를 벗어난 경우 변환에 실패 하는 경우 작업은 OverflowException을 throw 하지 않습니다.If the conversion is unsuccessful because the BigInteger value is out of the range of the Double type, the operation does not throw an OverflowException. 대신 value MinValue보다 작은 경우 결과는 Real 속성 값이 NegativeInfinity와 같은 복소수입니다.Instead, if value is less than MinValue, the result is a complex number that has a Real property value equal to NegativeInfinity. valueMaxValue보다 크면 결과는 Real 속성 값이 PositiveInfinity와 같은 복소수입니다.If value is greater than MaxValue, the result is a complex number that has a Real property value equal to PositiveInfinity.

적용 대상