值类型(Value Types)
类型名 | .NET 类型 | 字节数 | 说明 |
---|---|---|---|
bool | System.Boolean | 1 | 表示 true 或 false |
int | System.Int32 | 4 | 有符号 32 位整数 |
long | System.Int64 | 8 | 有符号 64 位整数 |
ulong | System.UInt64 | 8 | 无符号 64 位整数 |
char | System.Char | 2 | 单个 Unicode 字符,占用 2 字节 |
float | System.Single | 4 | 单精度浮点数(约 7 位十进制精度) |
double | System.Double | 8 | 双精度浮点数(约 15-16 位精度) |
引用类型(Reference Types)
类型名 | .NET 类型 | 引用字节数(变量本体) | 说明 |
---|---|---|---|
string | System.String | 4 字节(32 位)或 8 字节(64 位) | 内容长度变动,UTF-16 编码,每字符 2 字节 |
object | System.Object | 4 或 8 字节 | 变量是指向堆中对象的引用 |
自定义类 (class ) | - | 4 或 8 字节 | 实际占用由字段和内存对齐决定 |
通过sizeof方法可以获取变量类型所占的内存空间(单位:字节)
c#int intSize = sizeof(int);
Console.WriteLine("int 所占的字节数为:" + intSize);
输出结果为:4,即一个int类型的变量占4个字节的空间