为了账号安全,请及时绑定邮箱和手机立即绑定

C#中的C ++联合

C#中的C ++联合

四季花海 2019-10-17 16:32:36
我正在将用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;

}

未经测试。这个想法是两个变量在您的结构中具有相同的位置。当然,您只能使用其中之一。



查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信