C#类型系统

C#内置类型

在程序中,我们需要存储不同的类型数据。以下是C#的内置类型。

关键字 对应的.NET类型 名称 存储类型 字节 范围
int System.Int32 整型 整数 4 -231 ~ 231-1
short System.Int16 短整型 整数 2 -215 ~ 215-1
long System.Int64 长整型 整数 8 -263 ~ 263-1
bool System.Boolean 布尔类型 真/假 1 true/false
byte System.Byte 字节类型 0和正整数 1 0 ~ 255
double System.Double 双精度小数 小数 8
float System.Single 单精度小数 小数 4
decimal System.Decimal 小数 精确小数
string System.String 字符串 文本
char System.Char 字符 单个文字 2
uint System.UInt32 无符号整型 0和正整数 4 0 ~ 2^32-1
ushort System.UShort 无符号短整型 0和正整数 2 0 ~ 2^16-1
ulong System.ULong 无符号长整型 0和正整数 8 0 ~ 2^64-1
sbyte Systen.Sbyte 有符号字节 整数 1 -128 ~ 127
object System.Object 对象 任意

关键字是.NET中类型的简便语法。

类型选择

对于整数,选择在范围内的类型。如年龄,可以选择byte;文件大小,使用long。在存储空间足够的情况,大多数时候,整数都使用int

对于不为负数的数,一般也选择有符号整型,无符号整型一般很少用。

对于小数,如果是金额,建议选择decimal,表示的精确。

精度要求不高的小数,可以选择doublefloat

对于真假、是否,选择bool

对于文本,使用string类型。

对于更复杂的类型,需要自己定义。

类型划分

C#中,类型分为值类型和引用类型。

值类型包含结构、枚举,intboolchar都是结构,是值类型。

值类型的默认值是0,false,'\0'

引用类型包含类,委托,接口,objectstring 都是类,是引用类型。

引用类型的默认值是null,表示空引用。

所有类型都继承自objectobject是所有类型的根。