引用类型
在内存中不直接存储引用类型的数据,而是存储该数据的地址 。引用类型包括 :
类(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; };
泛型
一种定义一个可以在使用时才确定类型的数据类型的机制。