PVi*_*itt 21 .net c# memory nullable
An int(Int32)的内存占用为4个字节.但是什么是内存占用:
int? i = null;
Run Code Online (Sandbox Code Playgroud)
并且:
int? i = 3;
Run Code Online (Sandbox Code Playgroud)
这是一般的还是类型依赖的?
Cha*_*ana 17
我不是100%肯定,但我相信它应该是8字节,int32的4个字节,并且(因为每个东西必须在32位机器上对齐4个字节)4个字节用于表示是否为整数的布尔值值是否已指定.
在64位机器上,它仍然是8字节(64位),因为这是可以寻址的最小内存块...
内部?一 = 3;
00000038 lea ecx,[ebp-48h]
0000003b mov edx,3
00000040 拨打 78BFD740
00000045 nop
a = 空;
00000046 lea edi,[ebp-48h]
00000049 像素或 xmm0,xmm0
0000004d movq mmword ptr [edi],xmm0
似乎第一个 dword 用于值,第二个用于空标志。因此,总共 8 个字节。
奇怪的是,BinaryWritter 不喜欢编写可空类型。我在徘徊是否可以将它打包得更紧然后 8 个字节...
| 归档时间: |
|
| 查看次数: |
4688 次 |
| 最近记录: |