博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

装箱拆箱

Posted on 2011-08-27 13:46  枫之一刀  阅读(152)  评论(0编辑  收藏  举报

值类型存储在堆栈上,引用类型储存在堆上。

C#类是引用类型,结构是值类型。.Net很容易把值类型转换为引用类型。所以可以在需要对象(对象是引用类型)的任意地方使用值类型。

例如:int可以赋予一个对象,从值类型转换为引用类型成为装箱,如果方法需要吧一个对象作为参数,而且传送了一个值类型。装箱操作就会自动进行。另一方面,装箱的值类型可以使用拆箱操作转换为值类型。在拆箱时,需要使用类型转换运算符。

装箱和拆箱操作性能损失比较大。