C#语言中常见的类型
预定义简单类型
名称 | 含义 | 默认值 |
---|---|---|
sbyte | 8位有符号整数 | 0 |
byte | 8位无符号整数 | 0 |
short | 16位有符号整数 | 0 |
ushort | 16位无符号整数 | 0 |
int | 32位有符号整数 | 0 |
uint | 32位无符号整数 | 0 |
long | 64位有符号整数 | 0 |
ulong | 64为无符号整数 | 0 |
float(IEEE 754) | 单精度浮点数 | 0.0f |
double(IEEE 754) | 双精度浮点数 | 0.0d |
bool | 布尔类型true/false | false |
char | Unicode字符串 | \x0000 |
decimal | 小数类型的有效数字精度位28位 | 0m |
预定义非简单类型
名称 | 含义 |
---|---|
object | 所有其他类型的基类 |
string | 0或者多个Unicode字符所组成的序列 |
dynamic | 动态类型 |
用户自定义类型
名称 | 含义 | |
---|---|---|
类类型 | class | |
结构类型 | struct | |
数组类型 | array | |
枚举类型 | enum | |
委托类型 | delegate | |
接口类型 | interface |
值类型和引用类型
对于值类来讲,一般存放在栈中,用于存储实际的数据
对于引用类型来讲,则需要两段内存来存储
- 第一段在堆中存储实际的数据
- 第二段是一个引用(引用存在栈中),指向数据在堆中存放的位置(地址)