标签:
CLR支持两种基本类型:值类型和引用类型
那么又有哪些数据类型是值类型的 又有哪些数据类型是引用类型的呢?请看下面的简单归纳:
所有的数值类型(long int short byte ulong uint ushort sbyte decimal double float)
bool
枚举(enum)
结构(struct)
string
数组
类(class)
接口(interface)
上面是值类型和引用类型存储的示例图
可以看见值类型的变量 是将值和变量直接存储在栈空间的 而引用类型的变量是将变量存储在栈空间 却降值存储的堆空间中 引用变量在栈空间内存储的是 其值的地址而已
关于变量分赋值
值类型的变量赋值: 重新开辟一块栈空间 将值直接复制一份过去
引用类型的变脸赋值: 在栈空间重新开辟一个空间 将原有的值所在的地址 存放在新的引用变量中保存起来
标签:
原文地址:http://www.cnblogs.com/soaeon/p/5560399.html