笔记:值类型VS引用类型

值类型有两种形态:装箱和拆箱;而引用类型只有装箱形

值类型由System.ValueType派生;由于System.ValueType重载了System.Object的Equals和GetHashCode方法,所以自定义值类型时,需要重载这两个方法,写出它们的具体实现

值类型无法作为基类,所以里面的方法不能是抽象方法,且必须是Sealed。

引用类型初始值是null,因为它一开始没有引用对象。而值类型都是0.如果是用没有初始化的引用类型,就会抛出NullReferenceException异常

值类型变量赋值给别的值类型变量,整体被复制;引用类型只是地址被复制

使用引用类型可以操作多个对象(修改引用对象的地址),而值类型只能操作一个。

拆箱的值类型一旦过了生命周期,它占用的内存空间就可以被其它值占用。所以它的值此时可能会自动变化。

posted @ 2009-03-21 10:15  _龙猫  阅读(183)  评论(0编辑  收藏  举报