我正在將用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 關注
- 610 瀏覽
添加回答
舉報
0/150
提交
取消