预定义数据类型
C#中把数据类型分为两类:值类型和引用类型;从字面意义来看,值类型直接存储数据的值,引用类型存储对值得引用。
值类型和引用类型的主要区别在于在内存中存储的位置不同:值类型存储在堆栈中,比如:结构;而引用类型存储在托管堆上,比如:类。
1.C#中的13种值类型,分别是:int(32位有符号整数) uint(32位无符号整数) short(16位有符号整数) ushort(16位无符号整数) long(64位有符号整数) ulong(64位无符号整数) byte(8位无符号整数) sbyte(8位有符号整数) float(32位单精度浮点数) double(64位双精度浮点数) decimal(128位高精度浮点数) bool(表示true或false) char(16位字符);
2.c#中的2种引用类型:object和string;
举例:
1.(1)值类型,定义了x,y的值都为10,在内存中会存两次
(2)将x取值为10,y取值为20,将y=x,相当于将x的值复制了一份给y,需要开辟新的内存
2.引用类型,定义一个类num,它有一个int类型的成员变量v
alue,定义两个num类型的x,y,y=x,相当于将x的地址传给y,从而读取里面的值,y.value=20,也是通过地址,从而改变y的值,并没有另行开辟内存空间