关 于 C #装 箱 与拆箱 的理解 NET 重 要 技 术 和 基 础 之 一 的 CTS(Common Type System)
顾 名 思 义 , CTS 就 是 为 了 实现 在 应 用 程 序 声 明 和 使 用 这 些 类 型 时 必 须 遵 循 的 规 则 而 存 在 的 通 用 类 型 系 统
Net 将 整 个 系统 的 类 型 分 成 两 大 类 ——Value Type 和 Reference Type
, 多数的OO 语言存 在 这 个 弱点,原因就 是 因为 他们的 原类 型 没有共同的 基 点,于是 他们在 本质上并不是 真正的 对象 C++更依赖于对象, 而 非面向对象
Net 环境的 CTS 给我们带来了 方便
第一 、CTS 中的 所有东西都是 对象;第二、所有的 对象都源自一 个 基 类 ——System
Object 类 型
这 就 是 所谓的 单根层次结构(singly rooted hierarchy)关于 System
Object 的 详细资料请参考微软的 技 术 文档
CTS Value Type 的 一 个 最大 的 特点是 它们不能为 null, Value Type 的 变 量 总 有一 个 值
在 传递 Value Type 的 变 量 时 , 实 际 传 递 的 是 变 量 的 值 , 而 非底 层对象的 “引用 ”
CTS Reference Type 就 好像是 类 型 安全的 指针, 它可以为null
当值 为null 时 , 说明 没有引用 或类 型 指向某个 对象
声 明 一 个 引用 类 型 的 变 量 时 , 被操作的 是 此变 量 的 引用 (地址), 而 不是 数据
1、 装箱和 拆箱是 一 个 抽象的 概念 2、 装箱是 将 值 类 型 转换为 引用 类 型 ;拆箱是