一 值类型:值类型是从System. ValueType类继承而来的类型
值类烈变量直接存储其数据值,主要包含整数类型、浮点类型以及布尔类型等。值类型变量在堆
栈中进行分配,因此效率很高,使用值类型的主要目的是为了提高性能。
值类型具有如下特性:
1,值类型变量都存储在堆栈中。
2,访问值类型变量时,一般都是直接访问其实例。
3,每个值类型变量都有自己的数据副本,因此对一个值类型变量的操作不会影响其他变量.
4,复制值类型变量时,复制的是变量的值,而不是变量的地址。
5,值类型变量不能为null,必须具有一个确定的值。
主要包括:
--->1,整数类型(sbyte,short,mt,long,byte,ushort,uint,ulong)
--->2,浮点类型(float,double)如果不做任何设置,包含小数点的数值都被认为是double类型
--->3,布尔类型():要用来表小true/false值,一个布尔类型的变量,其值只能是true或者false,布尔类型变紧不能与止U他类型进行转换。
--->4,枚举类型
注意:在定义全局变量时,如果没有特定的要求不用对其进行初始化,整数类型和浮点型的默认初始化为0,布尔类型的初始化为false.
二 引用类型
1,必须在托管堆中为引用类型变量分配内存.
2,必须使用关键字new来创建引用类型变量.
3,托管堆中分配的梅个对象都有’,之相关联的附加成员,这此成员必须被初始化。
4,引用类型变量由垃圾回收机制来管理
5,多个引用类型变量可以引用同一对象,这种情况下,对一个变量的操作会影响另一个变量所引用的同一对象
6,引用类型被赋值前的值都是null
所有的类都是引用类型,主要包括类,接口,数组,委托
值类型与引用类类型区别
--->1,值类型直接存储其值,引用类型存储对其值的引用
--->2,值类型在栈中操作,在编译时就分配好了内存空间;引用类型在堆中分配存储单元,在运行中动态分配的内存空间
--->3,值类型相当于现金,要用就直接用;而引用类型相当于存折,要用得先去银行取。