.NET에는 모든 데이터 유형의 값을 허용할 수 있는 특수 객체 클래스가 포함되어 있습니다. 전달되거나 할당된 유형이 특정 데이터 유형이 아닌 경우 객체 클래스는 매개변수 전달 및 값 할당을 위한 일반적인 방법을 제공합니다. 개체에 할당된 값은 참조 유형이어야 하며 관리되는 힙에 저장되어야 합니다.
Boxing:
int age = 24;
object refAge= age;
보시다시피 첫 번째 문은 변수 age를 생성하고 관리되는 스택에 값을 배치합니다.
두 번째 문은 age 값을 참조 유형에 할당합니다. 관리되는 힙에 값 24를 배치합니다.
이 값 유형을 참조 유형으로 패키징하는 과정을 박싱이라고 합니다.
Unboxing:
반대로 참조 유형을 값 유형으로 변환하는 과정을 unboxing이라고 합니다. Unboxing은 객체를 원래 유형으로 강제 변환합니다. 이전 개체의 상자를 엽니다.
int newAge = (int) refAge;
string newAge = (String) refAge;
boxing되지 않은 값은 변환되는 변수와 동일한 유형이어야 합니다.
위의 간단한 그림을 통해 C# boxing 및 unboxing의 원리에 대한 전반적인 이해가 되셨나요?
C# boxing 및 unboxing 자세한 설명은? 원리와 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!