值类型就是一种由类型的实际值表示的数据类型,基于值类型的变量直接包含值,将一个值类型赋予给另外一个值类型变量时,将其复制包含的值。
所有的值类型均隐式派生自System.ValueType.
每种值类型均有一个隐式的默认够造函数来初始化该类型的默认值。
值类型包括:简单类型,枚举类型,构造类型。
值类型存储在线性堆栈中
例如例如:
在线程中a有一个存储位置,将a的值的副本传递给b,让后在给b赋值
并存储在内存中并且a值不变。(输出的结果为5)。
引用类型由类型的实际值引用(类似于指针)表示的数据类型
引用类型的变量又称为对象,可存储对实际数据的引用。
引用类型存储在线程堆栈和托管堆中,现在线程堆栈中存储位置然后回调在托管堆中所指向的值。
例如:
在线程堆栈中存储a的一个位置,在托管堆中存储a的一个值,b在线程堆栈中赋值a的一个位置,则b一样可以访问在托管堆中a的值,
在给b重新赋值则a在托管堆中的值也随之改变。(输出的结果为10)
在对值类型和应用类型的理解,我所知道的全部写下来了,如果有什么不对和不好的地方希望大家多多提出,我会改正过来。
转载于:https://blog.51cto.com/lyh7898/351299