gpt4 book ai didi

C# 结构大小评估

转载 作者:太空宇宙 更新时间:2023-11-03 21:38:08 24 4
gpt4 key购买 nike

谁能告诉我结构的大小,以及如何计算它:

[StructLayoutAttribute(LayoutKind.Sequential, Pack=2)]
public struct SomeStruct
{
public short sh;
public int i;
public byte b;
public ushort u;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=7)]
public byte[] arr;
}

最佳答案

我想你想了解内存是如何分配的,否则你可以使用:

System.Runtime.InteropServices.Marshal.SizeOf(TheStruct)

好吧,你选择在 2 字节边界内打包,所以你基本上以两步为单位分配内存。所以 short(有符号或无符号)占用 2 个字节,int 占用四个字节 byte 只占用一个字节,但由于您指定的包装两个,出于同样的原因,我们需要考虑数组 8。所以我们有

2+4+2+2+8 = 18 bytes

关于C# 结构大小评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20720741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com