### 一、数 据 类 型
C#的数据类型分成两大类:一类是值类型(Value
Types),另一类是引用类型(Reference
Types)。每一大类又可再分成几个小类,如图2.1所示。
![1631416259471](C:\Users\86172\AppData\Roaming\Typora\typora-user-images\1631416259471.png)
#### 1.值 类 型
所谓值类型就是一个包含实际数据的变量。当定义一个值类型变量时,C#会根据所声明的类型,以堆栈方式分配一块大小相适应的存储区域给这个变量,对这个变量的读/写操作就直接在这块存储区域进行。
C#中的值类型包括:简单类型、枚举类型和结构类型。
例如:
```C#
int iNum=10; // 分配一个32位内存区域给变量iNum,并将10放入该内存区域
iNum=iNum+10; // 从变量iNum中取出值,加上10,再将计算结果赋给iNum
```
简单类型是系统预置的,一共有13个,如表2.1所示。
| C#关键字 | .NET CTS类型名 | 说 明 | 范围和精度 |
| -------- | -------------- | ----------------------- | ---------------------------------------------------------- |
| bool | System.Boolean | 逻辑值(真或假) | true, false |
| sbyte | System.SByte | 8位有符号整数类型 | -128~127 |
| byte | System.Byte | 8位无符号整数类型 | 0~255 |
| short | System.Int16 | 16位有符号整数类型 | -32 768~32 767 |
| ushort | System.UInt16 | 16位无符号整数类型 | 0~65 535 |
| int | System.Int32 | 32位有符号整数类型 | -2 147 483 648~2 147 483 647 |
| uint | System.Uint32 | 32位无符号整数类型 | 0~4 294 967 295 |
| long | System.Int64 | 64位有符号整数类型 | -9 223 372 036 854 775 808~9 223 372 036 854 775 807 |
| ulong | System.UInt64 | 64位无符号整数类型