Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C# 프로그래밍에서 Boxing과 Unboxing의 차이점.

<시간/>

C#은 값 형식을 참조 형식에 연결하거나 그 반대로 연결하는 두 가지 방법을 제공합니다. 연결을 위한 이 두 가지 방법은 boxing과 unboxing으로 명명되며 Boxing은 값 유형을 개체 유형으로 변환하는 데 사용되는 반면 Unboxing은 개체 유형을 값 유형으로 변환하는 데 사용됩니다.

다음은 Boxing과 Unboxing의 중요한 차이점입니다.

Sr. 아니요. 복싱 박스 개봉
1 구현 Boxing은 객체 유형을 값 유형이라고 합니다. Unboxing은 기본적으로 boxed 객체에서 값을 가져오는 것을 처리합니다.
2 저장용량 boxing의 경우 스택에 저장된 값을 힙 메모리에 저장된 객체로 복사한다. 반면 unboxing의 경우 힙 메모리에 저장된 객체의 값이 스택에 저장된 값 유형으로 복사됩니다.
3 전환 유형 암시적 변환으로 알려진 일반적으로 복싱 Unboxing은 명시적 변환을 의미합니다.

박싱 대 언박싱의 예

JavaTester.java

public class JavaTester {
   public static void main(String[] args){
      int val = 119;
      // Boxing
      Object o = val;
      // Change the value of val
      val = 120;
      //unboxing
      int x = (int)o;
      System.out.println("Value of x is {0}"+ x);
      System.out.println("Value type of val is {0}"+val);
      System.out.println("Object type of val is {0}"+o);
   }
}

출력

Value of x is {0}119
Value type of val is {0}120
Object type of val is {0}119