不同的数据要有适当的容器来装载,杀鸡焉用牛刀就是这个道理。C#是一种strongly typed(强类型)语言,无论是变量还是常数都要定义类型。而我们比较常用的就是定义value type(值类型),对于这种类型,数据存储于内存本身,包括所有值的类型,整数有Sbyte、Short、Int和Long等有符号的类型,还有byte、uShort、uint和ulong等无符号的类型;浮点数有float、double和decimal;其他类型有bool、char、enum和struct等类型,下面来介绍一下这些类型。
整数类型
整数数据类型表示数据中只有整数,不含小数部分,一般根据存储容量的不同,整数数据类型有两种,一种是signed integral(有符号整数),一种是unsigned integral(无符号整数)。
有符号的整数类型:
Sbyte(字节):占用空间为1Byte,数值范围为-128-127
Short(短整数):占用空间为2Byte,数值范围为-32768-32767
Int(整数):占用空间为4Byte,数值范围为-2147483648-2147483647
Long(长整数):占用空间为8Byte,数值范围为-9223372036854775808-9223372036854775807
无符号的整数类型:
byte(无符号字节):占用空间为1Byte,数值范围为0-255
uShort(无符号短整数):占用空间为2Byte,数值范围为0-65535
uint(无符号整数):占用空间为4Byte,数值范围为0-4294967295
ulong(无符号长整数):占用空间为8Byte,数值范围为0-18446744073709551616
浮点类型
数值中除了整数外,还包含小数部分的是"floating point types"(浮点数据类型)。
float(浮点数):占用空间为4Byte,数值范围为±1.5e-45-±3.4e38,精确度为7位数
double(双精度浮点数):占用空间为8Byte,数值范围为±5.0e-324-±1.7e308精确度为15-16位数
decimal(高精度浮点数):占用空间为16Byte,数值范围为-7.9e28-7.9e28
使用浮点数据类型,可以根据其数值范围来声明数据类型,如果处理的数值需要精确度高时,可以使用decimal(高精度浮点数),与float(浮点数)和double(双精度浮点数)相比更加精确。
其他数据类型
除了整数类型和浮点类型,还有一些其他数据类型。
bool(布尔):占用空间为1Byte,数值范围为true或false
char(字符):占用空间为2Byte,数值范围为Unicode16位字符
当然除了上述比较常用的数据类型外,还有诸如enum(枚举)和 struct(结构)等类型,当然这些类型只有在特定的环境下才可用到,但是,对于基本的数据类型一定要掌握好。
人生是没有毕业的学校。——黎凯