Blog Content

    티스토리 뷰

    65.C# - 값형식과 참조형식 ( Boxing 과 UnBoxing )

    반응형

    그림-65

     .Net FrameWork영역 운영체제와는 별계로 값이 스택에 붙으면
    value이고 힙에 붙으면참조형
    박싱 -> 스택 (힙영역의 값을 푸는것)  /   박싱 -> 힙 (형 변환)

    Program.cs
    using System;

    class 값형식과참조형식
    {
        static void Main(string[] args)
        {
            //값 형식 : Value Type : 닷넷이 관리하는 메모리의 스택에 보관
            int i = 1234;
            
            //참조 형식 : Reference Type : 닷넷의 힙 메모리에 보관
            string s = "안녕\0하세요"; //리터널(Literal)
            Console.WriteLine(s);

            //박싱(Boxing)과 언박싱(UnBoxing)
            string su = "1234";
            int num = Convert.ToInt32(su); //문자열su를 정수형으로 변환
            //힙 -> 스택 : 언박싱

           
            su = i.ToString(); //스택 -> 힙 : Boxing

            su = null; //GC엔진활동

            //구조체는 값 형식, 클래스 참조형식

            //Car car = new Car(); //생성 new 사용하면 영역은 힙영역에 저장
            //car.Run(); //사용
            //delete car; //이런 명령어 없다...
        }
    }

    결과화면


    65.Boxing_UnBoxing.zip
    다운로드

    반응형

    'C#' 카테고리의 다른 글

    67.C# - 분할클래스  (0) 2009.08.17
    66.C# - 추가연산자  (0) 2009.08.17
    65.C# - Nullable (널 기능 형식)  (0) 2009.08.17
    64.C# - 명령줄인수 - 2 - ( command Line Prompt )  (0) 2009.08.17
    63.C# - 명령줄인수 ( Commands Line Prompt )  (0) 2009.08.17

    Comments