Boxing chuyển đổi kiểu giá trị thành kiểu đối tượng (object) trong khi unboxing chuyển đổi kiểu đối tượng thành kiểu giá trị.
Hãy xem sự khác biệt giữa Boxing và Unboxing trong C#.
Lưu trữ (Storage)
Trong boxing, giá trị lưu trên stack được sao chép vào đối tượng lưu trên heap memory, trong khi unboxing là ngược lại.
Trong Unboxing, giá trị đối tượng lưu trên heap memory được sao chép vào kiểu giá trị lưu trên stack.
Chuyển đổi (Conversion)
Unboxing có chuyển đổi tường minh (explicit) trong khi boxing có chuyển đổi ngầm định (implicit).
Ví dụ
int a = 10; object obj = a; // boxing int b = (int)obj; // unboxing