수색…


비고

유형 변환은 한 유형의 데이터를 다른 유형으로 변환합니다. 타입 캐스팅이라고도합니다. C #에서는 캐스팅에 두 가지 형식이 있습니다.

암시 적 형식 변환 - 이러한 변환은 형식이 안전한 방식으로 C #에서 수행됩니다. 예를 들어, 더 작은 정수 유형에서 더 큰 정수 유형으로의 변환 및 파생 클래스에서 기본 클래스로의 변환이 있습니다.

명시 적 유형 변환 -이 변환은 사전 정의 된 기능을 사용하는 사용자가 명시 적으로 수행합니다. 명시 적 변환에는 형변환 연산자가 필요합니다.

MSDN 암시 적 연산자 예제

class Digit
{
    public Digit(double d) { val = d; }
    public double val;

    // User-defined conversion from Digit to double
    public static implicit operator double(Digit d)
    {
        Console.WriteLine("Digit to double implict conversion called");
        return d.val;
    }
    //  User-defined conversion from double to Digit
    public static implicit operator Digit(double d)
    {
        Console.WriteLine("double to Digit implict conversion called");
        return new Digit(d);
    }
}

class Program
{
    static void Main(string[] args)
    {
        Digit dig = new Digit(7);
        //This call invokes the implicit "double" operator
        double num = dig;
        //This call invokes the implicit "Digit" operator
        Digit dig2 = 12;
        Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val);
        Console.ReadLine();
    }
}

산출:

두 개의 implict 변환을위한 숫자
Digit implict conversion을 double로 호출
num = 7 dig2 = 12

.NET Fiddle에서의 라이브 데모

명시 적 유형 변환

using System;
namespace TypeConversionApplication 
{
   class ExplicitConversion 
   {
      static void Main(string[] args) 
      {
         double d = 5673.74; 
         int i;
         
         // cast double to int.
         i = (int)d;
         Console.WriteLine(i);
         Console.ReadKey();
      }
   }
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow