Khái niệm
Boxing: Chuyển kiểu giá trị (value type) → kiểu đối tượng (object type) - ngầm định (implicit).
Unboxing: Chuyển object → value type - tường minh (explicit).
Bảng so sánh
| STT | Tiêu chí | Boxing | Unboxing |
|---|---|---|---|
| 1 | Thực thi | Object tham chiếu đến value type | Lấy giá trị từ object đã box |
| 2 | Lưu trữ | Stack → Heap (copy) | Heap → Stack (copy) |
| 3 | Kiểu chuyển đổi | Implicit (ngầm định) | Explicit (tường minh, cần cast) |
Ví dụ C#
int val = 119; Object o = val; // Boxing val = 120; int x = (int)o; // Unboxing // x = 119, val = 120, o = 119