大致分类:
值类型:结构(struct),枚举(enum),int
引用类型:数组类型(即便int是值类型,int[]依然是引用类型),类(class),委托(delegate),接口(interface)
对值类型和引用类型的理解(完全是个人理解)
1.值类型的变量中保存值本身,而引用实例中保存的是一个对象在堆中的位置(大概类似于C语言中指针的含义)
2.变量的值在它声明的位置存储,引用类型的对象总是存储在堆上(会有该对象的引用指向该对象)
3.装箱:根据值类型的值创建一个对象,创建后对象和值没有联系
拆箱:将被装箱的对象再次拆成值类型的值,拆箱后值和该对象没有关系
(拆箱装箱都会产生原始值的一个副本)