C# 数据类型解析
引用类型
在内存中不直接存储引用类型的数据,而是存储该数据的地址 。引用类型包括 :
类(class)
接口(interface)
数组(array)
字符串(string )
值类型主要由简单类型、枚举类型和结构类型这三类组成:
种类 |
描述 |
|
值类型 |
简单类型(Simple types) |
有符号整数:sbyte, short, int, long |
无符号整数:byte, ushort, uint, ulong |
||
Unicode 字符:char |
||
IEEE 浮点数:float, double |
||
十进制数:decimal |
||
布尔值:bool |
||
枚举类型(Enum type) |
enum E {...} |
|
结构类型(Struct type) |
struct S {...} |
简单类型包括:
整数类型 浮点类型 十进制类型 布尔类型 字符类型
整数类型
整数类型在计算机中的取值范围
描述 |
位数 |
数据类型 |
取值范围 |
有符号整数 |
8 |
sbyte |
–128~127 |
16 |
short |
–32 768~32 767 |
|
32 |
int |
–2 147 483 648~2 147 483 647 |
|
64 |
long |
–9 223 372 036 854 775 808~9 223 372 036 854 775 807 |
|
无符号整数 |
8 |
byte |
0~255 |
16 |
ushort |
0~65 535 |
|
32 |
uint |
0~4 294 967 295 |
|
64 |
ulong |
0~18 446 744 073 709 551 615 |
浮点类型
浮点类型在计算机中的取值范围
描述 |
位数 |
数据类型 |
取值范围 |
单精度浮点型 |
32 |
float |
1.5 × 10−45 到~3.4 × 1038, 7位精度 |
双精度浮点型 |
64 |
double |
5.0 × 10−324 ~1.7 × 10308,15位精度 |
十进制类型
十进制类型在计算机中的取值范围
描述 |
位数 |
数据类型 |
取值范围 |
十进制类型 |
128 |
decimal |
1.0 × 10−28~7.9 × 1028, 29位精度 |
布尔类型
布尔类型表示现实中的“真”或“假”这两个概念,主要用来进行逻辑判断。在C#中,分别采用true和false这两个值来表示“真”和“假”。
描述 |
位数 |
数据类型 |
取值范围 |
布尔类型 |
8 |
bool |
true或f ture,alse |
字符类型
字符类型采用国际上公认的Unicode标准字符集
描述 |
位数 |
数据类型 |
取值范围 |
字符类型 |
16 |
char |
在0~65 535范围内以双字节编码的任意符号 |
枚举类型 enum
枚举类型为一组在逻辑上密不可分的整数提供便于记忆的符号
比如,声明一个代表季节的枚举类型的变量: enum Season { Spring, Summer, Autumn, Winter};
结构类型 :轻量级的类
把一系列相关的变量组织成单一实体的过程,在C#中称为生成结构的过程。这个单一实体的类型就叫做结构类型,每一个变量称为结构的成员。
结构类型的变量采用struct来声明,比如可以如下定义通讯录的记录结构:
struct PhoneBook{ public string name; public string phone; public string address; };
泛型
一种定义一个可以在使用时才确定类型的数据类型的机制。