Translate Into English Coffee & Tea
ASP.NET 中的 AJAX ASP.NET 画图全接触 ASP.NET 与 XML 声明式数据绑定 ASP.NET 网页抓取
C# 基础 C# 类教程 C# 加密 ASP.NET 成员资格 非“自动化”处理 Excel
QuickAjax Ajax 完美的语法高亮器 Silverlight Popfly
免费注册联想 5G 网盘

装箱(boxing)和拆箱(unboxing)是 C# 类型系统中一个核心概念。

装箱

装箱是一种隐式转换,它把值类型转换为 object 类型或者其它类型实现的接口类型。

int i = 3;
object o = i; //装箱
i++; //此时 o 的值不变,因为变量的值是在栈上,而对象的值是在堆中。

拆箱

拆箱把 object 类型显式转换到值类型,或者接口类型显式转换到实现该接口的值类类型。

int i = 3;
object o = i; //装箱
int j = (int)o; //拆箱

装箱、拆箱操作会导致堆上内存的分配与回收,如果数据量大,将导致一些性能丢失。

文章评论
标题:必填
内容:
文章信息