我正在将用C ++编写的库转换为C#,并且关键字“联合”存在一次。在结构中。将其转换为C#的正确方法是什么?它是做什么的?看起来像这样;struct Foo { float bar; union { int killroy; float fubar; } as;}
3 回答
函数式编程
TA贡献1807条经验 获得超9个赞
您可以为此使用显式字段布局:
[StructLayout(LayoutKind.Explicit)]
public struct SampleUnion
{
[FieldOffset(0)] public float bar;
[FieldOffset(4)] public int killroy;
[FieldOffset(4)] public float fubar;
}
未经测试。这个想法是两个变量在您的结构中具有相同的位置。当然,您只能使用其中之一。
- 3 回答
- 0 关注
- 593 浏览
添加回答
举报
0/150
提交
取消