您可以为此使用显式字段布局:[StructLayout(LayoutKind.Explicit)] public struct SampleUnion{ [FieldOffset(0)] public float bar; [FieldOffset(4)] public int killroy; [FieldOffset(4)] public float fubar;}未经测试。这个想法是两个变量在您的结构中具有相同的位置。当然,您只能使用其中之一。