C#学习笔记 3 值类型与引用类型

TAG
C#
原创
编写日期
Apr 20, 2017
值类型与引用类型 在我之前的两篇博文里介绍了这两种类型。 值类型分为:简单值类型、枚举、结构。(下面用蓝色字标识)
引用类型分为:类、委托、接口、字符串、对象、数组。(下面用红色字标识)
下面来谈谈这两种类型的区别:
★1.继承的基类不同
System.ValueType System.Object
★2.数据存在于 栈 数据存在于堆里,然而地址存在栈里 ★3.用null赋值? 不可以 可以 4.垃圾回收 自动回收 垃圾回收器(Garbage Collector) 5.占用内存量 少 多 6.执行速度 快 慢
7.数据长度
固定 不固定
看完了区别,接下来整理一下两种类型间的转换。 装箱: 值类型转成引用类型。
又称隐式转换。
例如:
int i = 0; object j = null; j = i as object;
拆箱: 引用类型转成值类型。
又称显式转换。
例如:
double a; object b = 12345.15; a = (double)b;