首先 要知道 C# 的 基础 数据类型 并没有 内置于 C# 的语言中,而是内置于 。net Framework 中的,
当我们 声明 一个 类型时,例如(int),实际是 得到的 一个 。net结构System.Int32的一个实例。因为 net 支持 多种 语言的 编码(跨语言),他们最终 会 转化成 中间语言 IL; 这样的好处有
1. 确保了 强制 类型 安全
2. 实现了 不同语言的 交互性
3. 所有数据 都是对象, 所以 有属性 ,有 方法, 比如 把 一个字符串 “123” 转成 数字 123 则 Convent.toint32(123);
C# 中 存在两种 数据类型 值 类型, 引用 类型
引用类型和值类型都继承自Systerm.Object类。不同之处,几乎所有的引用类型都是直接从Systerm.Object继承,而值类型则是继承Systerm.Object的子类Systerm.ValueType类
内存中 的 堆和栈, 栈 中 存放着 值类型 和 引用 类型 , 值相当于 现金, 真实可用数据, 引用 相当于 存折 , 只是取现金的一个地址
装箱:是值类型转换为Object类型,或者转换为由值类型所实现的任何接口类型。把一个值类型的值装箱,也就是创建一个对象并把这个值赋给这个对象
拆箱:是从Object类型转换为值类型,或者是将一个接口类型转换为一个实现该接口的值类型