Boxing là quá trình chuyển đổi một loại giá trị sang kiểu Object  hoặc bất kỳ loại Interface nào được  thực hiện bởi loại giá trị đó. Object lưu trữ giá trị đó trên một "heap" quản lý.
Unboxing ngược lại là việc chuyển đổi từ ​​các giá trị của Object đã lưu thành kiểu giá trị cụ thể.

 Hay nói cách khác Boxing là kiểu chuyển đổi ngầm từ Value Types sang Reference Types, vì là kiểu tham chiếu nên nó sẽ lưu giá trị trên một Heap có kiểu tương ứng ban đầu.
Unboxing là di chuyển dữ liệu ngược lại từ Reference Type sang Value Types ví dụ dưới đây:




Ví dụ

/*Boxing: Chuyển đổi kiểu Int sang kiểu tham chiếu*/
int a = 2013;
object o = a;
Console.WriteLine(o);

// Output: 2013

Và ngược lại

/*Unboxing: Chuyển đổi kiểu tham chiếu Object sang kiểu Int*/
object o = 2013;
int a = Convert.ToInt32(o);
Console.WriteLine(a);

// Output: 2013

Nhưng bạn cần lưu ý rằng, unboxing  thì kiểu nhận giá trị từ Object phải tương đương kiểu của Oject trước khi Boxing. Điều đó có nghĩa:

/*Boxing và Unboxing: Cách sử dụng đúng*/
int a = 2013;
object o = a; // Boxing
float j = (float)o; //Unboxing: Lỗi
float j2 = (int)o; //Ubboxing: Đúng
int j3 =(short)o; //Unboxing: Lỗi
int j4 =(int)o; //Unboxing: Đúng

(Các cách ép kiểu chúng ta sẽ cùng nhau tìm hiểu ở một phần khác.)

Update: 02/12/2013
Update: 16/05/2014 Format word

thumbnail C# Programming: Boxing and Unboxing

data:label.name author

premiumpng.com

Design Publisher

Download 0
No comments
Template in .PSD format

MR Laboratory License

Free for personal purpose use . More info


Buy Now This Template

No comments:

Post a Comment

Commets Download Photoshop Actions, Lightroom Presets, PSD Template, Mockups, Stocks, Vectors, Fonts. Download free

Newer Post Older Post Home

Copyright © 2021 MR Laboratory All rights reserved.

Setting