C#基本数据类型中的值类型是直接存储它的数据内容,而引用类型存储的是对象的引用,这两种类型对变量的赋值有着不同的含义。
值类型包括:简单类型、结构类型、枚举类型;引用类型包括:Object 类型、类类型、接口、代表元、字符串类型、数组。
C#基本数据类型-值类型示例
int m = 0;int n = m;m = 1; //此时 n 仍然是 0,因为 m 和 n 的数据存储在不同的区域引用类型示例
class CFoo{ public int n;}
void Main(){ CFoo f1 = new CFoo(); f1.n = 0; CFoo f2 = f1; f1.n = 1; //此时 f2.n 变成了 1,因为 f2 与 f1 的内容是同一地址}值类型
值类型有:byte(1)、sbyte(1)、short(2)、ushort(2)、int(4)、uint(4)、long(8)、ulong(8)、float(4)、double(8)、decimal(8)、char、bool、枚举、结构。
上述中括号中的数字表示字节数,byte、ushort、uint、ulong 为无符号类型(没有负数),顺便说一下 sbyte 是有符号的字节。
这些类型是.NET Framework 类型的别名的别名,具体对应关系,请参见由 String 与 string 引出的。
C#基本数据类型-引用类型
引用类型有:对象类型、类类型、接口、代表元、字符串类型、数组。
虽然字符串类型(string)是引用类型,但微软为了我们设计方便,重载了其中的一些操作符,使得它应用起来就像是值类型一样。
本文来自心之镇的博客园文章《C#基本数据类型》
【编辑推荐】