using System; using System.Runtime.InteropServices; [StructLayout(LayoutKind.Explicit)] public struct Point { [FieldOffset(0)] public byte x; [FieldOffset(1)] public byte y; [FieldOffset(0)] public UInt16 raw; } class Program { public static void Main(string[] args) { Point p = new Point(); p.x = 0x12; p.y = 0x34; Console.WriteLine($"x={p.x:X}, y={p.y:X}, raw={p.raw:X}"); } }
実行結果
x=12, y=34, raw=3412