using System;
//[1] 기초문법이라는 네임스페이스
namespace 기초문법
{
    //[2] 변수라는 클래스
    public class 변수
    {
        //[3] Main() 이라는 메서드
        public static void Main()
        {
            //[1] 변수 선언
            int intNum;            //정수형 변수
            double dblSu;        //실수형 변수
            string strHi;        //문자열 변수
            bool blnFlag;        //부울형 변수
            object objHello;        //임의값 변수
            //[2] 변수 초기화
            intNum = 10;
            dblSu = 10.5;
            strHi = "안녕하세요.";
            blnFlag = true;
            objHello = "안녕";
            //[3] 변수 참조
            Console.WriteLine(intNum);//이전
            Console.WriteLine("{0}", dblSu);//자리표시자
            Console.Write(
                "{0}\n", strHi);//이스케이프 시퀀스 사용
            Console.Write("{0}\t{1}\t{0}\n",                 
                blnFlag, blnFlag);//인덱스 적용
            Console.WriteLine("{0}",
                objHello.ToString());//문자열로 변환
            //[4] 변수의 데이터 타입 : typeof(), TypeName() 
            Console.WriteLine(
                "int : {0}\n" +                //System.Int32
                "double : {1}\n" +        //System.Double
                "string : {2}\n"            //System.String
                , intNum.GetType() 
                , dblSu.GetType()
                , strHi.GetType()
            );
            //[5] 데이터 형식 변환 : Convert 클래스 
            Console.WriteLine("{0} : {1}"
                , intNum + intNum
                , Convert.ToString(intNum) + intNum);//문자열로 변환
            Console.WriteLine("{0} : {1}"
                , dblSu
                , Convert.ToInt32(dblSu));//정수형으로 변환
            Console.WriteLine("{0} : {1}"
                , (intNum + intNum)
                , intNum.ToString() + intNum);
            Console.WriteLine("{0} : {1}"
                , dblSu, (int)dblSu);//정수형으로 변환
        }
    }
}