| 不同点 | 值类型 | 引用类型 |
| 类型分配的位置 | 分配在栈上 | 分配的托管堆上 |
| 基类型 | System.Value | 除System.Value之外的任意类型 |
| 是否可以有子类 | 不可以,因为是密封的,不能被继承 | 可以 |
| 参数传递的行为 | 按值传递,传的是副本 | 按引用传递,传的是引用 |
| 是否可以重写System.Object.Finalize() | 不能,因为值类型放在栈上 | 可以间接重写 |
| 是否可以为该类型定义构造函数 | 可以,但默认的构造函数要保留(自定义的要带参数) | 可以 |
| 生命周期 | 超出定义的作用域时就结束生命 | 当托管堆被垃圾回收就结束生命 |
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |