上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3 C#基本数据类型
2.3.1 值类型
C#内置的数据类型,包含了一般程序语言所需的数值、字符等数据类型,例如,整型(integer)、字符型(char)、布尔型(Boolean)等。一般使用过程序语言的人,对于这些类型应该不会陌生。表2.1总结了C#最常用的基本数据类型以及允许的值范围。
表2.1 C#常用内置数据类型
C#不允许使用未赋值的变量,一个变量必须复制后才能使用,否则程序是无法编译的。这就是所谓的明确赋值规则。例如,以下语句将产生一个编译时错误,因为age尚未赋值:
int age; Console.WriteLine(age); //编译时错误
2.3.2 内置引用类型
内置引用类型包含object以及string两种类型,以下简要说明:
object类型 这个类型是所有其他类型的基础类型,甚至是上述的数值类型,所有的类型都是直接或间接地继承object类型,通过面向对象的继承框架派生而来。
object本身是其他类型的基础类型,提供所有类型所需的基本特性与功能,在C#中称为“一致化类型系统”,你可以使用关键字object定义一个对象类型的变量。由于“一致化类型系统”(如数值类型)可以使用装箱(Boxing)以及拆箱(Unboxing)技术,进行数值类型以及object类型的转换,这表示数值类型本身也可以被当作对象来使用,以下简要说明装箱以及拆箱:
① 装箱 当数值类型被当作对象使用的时候,必须使用装箱转换,例如:
int x = 10; object obj = x;
其中x为int数值类型,而其中的object obj = x进行了装箱的类型转换操作,将一个数值类型转换成为引用类型。
② 拆箱 拆箱是装箱的逆操作,将引用类型明确地转换成为数值类型,如下的代码将obj重新转换为int数值类型,拆箱需要利用显式的类型转换来完成。
int x = 10; object obj = x; int j = (int)obj;
string类型 表示一串固定长度的Unicode字符组。