Câu hỏi phỏng vấn Net core
Câu hỏi

BoxingUnboxing là gì ?

Câu trả lời

Boxing và Unboxing là hai khái niệm trong lập trình C# liên quan đến việc chuyển đổi giữa kiểu dữ liệu giá trị (value types) và kiểu dữ liệu tham chiếu (reference types).

Boxing là quá trình chuyển một biến có kiểu dữ liệu giá trị sang kiểu dữ liệu tham chiếu. Trong quá trình này, giá trị của biến được đóng gói vào một đối tượng trên Heap và biến đó trở thành kiểu Object. Quá trình này diễn ra ngầm định và tự động khi một biến kiểu giá trị được gán cho một biến kiểu Object.

Unboxing là quá trình ngược lại với Boxing, tức là chuyển một đối tượng kiểu tham chiếu về lại kiểu dữ liệu giá trị. Điều này đòi hỏi phải thực hiện một cách tường minh thông qua cách ép kiểu tường minh. Trong quá trình Unboxing, giá trị trong đối tượng được sao chép trở lại vào một biến kiểu giá trị. Điều quan trọng cần lưu ý là phải chắc chắn rằng đối tượng thực sự chứa giá trị của kiểu dữ liệu đúng trước khi thực hiện Unboxing, nếu không sẽ gây ra lỗi chương trình.

Tuy nhiên, việc sử dụng Boxing và Unboxing nên được hạn chế vì quá trình này có thể gây ra độ trễ do việc sao chép dữ liệu và quản lý bộ nhớ, đặc biệt là khi làm việc với số lượng lớn biến cần chuyển đổi.

entry

entry

Gợi ý câu hỏi phỏng vấn

junior

.NET Standard là gì và tại sao chúng ta cần xem xét đến nó?

middle

Giao diện IDisposable được sử dụng để làm gì?

senior

Tại sao thư viện .NET Standard tồn tại?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào