日期:2014-05-18  浏览次数:20804 次

关于boxing 与unboxing 的疑问。
对于装箱与拆箱很晕啊。有没有谁能够详细的解释一下呢。

------解决方案--------------------
装箱和拆箱其实就是为了解决一个问题:

在.NET中,如果所有一切东西都是对象,那么从概念上说,是统一的、和谐的、完美的。

但是从性能上说,如果连整数、布尔类型这样零碎且频繁操作的东西都变成了对象,或者按照对象来处理,那么性能上不可接受。

装箱和拆箱主要就是解决这个问题,在需要让它们按照对象来处理的时候,将它们视作对象。在需要性能的场合,将它们视作本机类型。

类似地,其实“字符串”也是这样的一个概念。从本质上来说,字符串就是元素为字符的数组或者列表。但是因为它太常用了,也需要对性能作优化,所以我们才单独把这个概念提取出来。