关于 [StructLayout(LayoutKind.Explicit)] 的一些疑问

rehuo 2017-10-19 12:59:01
[StructLayout(LayoutKind.Explicit)]
public struct MyUnion
{
[FieldOffset(0)] public byte b1; //低位 '低在前高在后
[FieldOffset(1)] public byte b2;
[FieldOffset(2)] public byte b3;
[FieldOffset(3)] public byte b4; //高位
[FieldOffset(0)] public float Value;
}
请问这是不是类似于将value转换为字节数组?
b1,b2,b3,b4里面存储的是什么呢?
...全文
1033 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rehuo 2017-10-19
  • 打赏
  • 举报
回复
简单的问题,搞混了
rehuo 2017-10-19
  • 打赏
  • 举报
回复
你说的这些我都查过,但是问题是,如果value的值设置为2,为什么b4是0x40?布局位置,内存重叠,字节序,都明白,但是这个地方里面存储的内容是什么意思?
wanghui0380 2017-10-19
  • 打赏
  • 举报
回复
至于高位,低位问题,请百度“字节序”
wanghui0380 2017-10-19
  • 打赏
  • 举报
回复
不解释,请自己百度“结构体内存分布” “结构体字节对齐”相关知识

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧