C#で共用体(union)を利用する
「C#で共用体(union)を利用する」と書いたけれども、C#には、共用体がありません。
属性(StructLayoutとFieldOffset)を駆使して記載します。[StructLayout(LayoutKind.Explicit)]struct BitData{
[FieldOffset(0)] public byte Data0;
[FieldOffset(1)] public byte Data1;
[FieldOffset(2)] public byte Data2;
[FieldOffset(3)] public byte Data3;
[FieldOffset(0)] public UInt32 Data;}
LayoutKind.Explicitを指定することで、
フィールド内のFieldOffsetが使用可能になります。
0 件のコメント:
コメントを投稿