c# struct

public struct KFC  
        {
            [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11)]
            public char[] sbxsohoh;
            [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10)]
            public char[] shjhbh; 
            public ulong zbh; 
            public char zz; 
            public char zt4;    
#if DLY
            public ulong ID;                            
#else
          public ushort ID;
#endif
  以上是某一个二进制文件的struct,这个结构有多少个字节? 求大神指点
#if DLY
            public ulong ID;                            
#else
          public ushort ID;
#endif
这部分代码什么意思

凤凰求蛊
浏览 531回答 2
2回答

慕斯王

至于struct占用多少字节,struct应该有个属性Size可以查看的 #if  #else  这个是C#中的预处理指令,主要用于辅助条件编译,预处理指令不会在编译时转化为可执行代码,但是会影响编译过程 ,例如根据条件跳过某段代码的编译,报告错误和警告条件等,例如#if debug  console.writeLine("this is debug")#else

明月笑刀无情

我不明白你指的struct有多少个字节,是单指这段struct的代码的长度,还是指包struct所包含的字段及字段的值加起来的值,如果要取代码的长度,就需要从二进制流中截取这一段代码来取长度length,另外struct和二进制文件本身是没有关系的。
打开App,查看更多内容
随时随地看视频慕课网APP