Tag: 位字段

使用标志枚举的优缺点是什么?

我从硬件接收了几个位字段。 我的代码最初是: public readonly byte LowByte; public bool Timer { get { return (LowByte & 1) == 1; } } 然后我想起了标志枚举,并考虑将其更改为: [Flags] public enum LowByteReasonValues : byte { Timer = 1, DistanceTravelledExceeded = 2, Polled = 4, GeofenceEvent = 8, PanicSwitchActivated = 16, ExternalInputEvent = 32, JourneyStart = 64, JourneyStop = 128 } public readonly […]

使用C#中的位字段进行编组

是否可以将包含位字段的C风格结构编组到C#结构中,或者您是否必须将其编组为基本类型然后执行位掩码? 例如,我想从这样的C风格结构编组: struct rgb16 { unsigned int R : 4; unsigned int G : 5; unsigned int B : 4; } 并将其编组为以下内容: [StructLayout(LayoutKind.Sequential)] public struct Rgb16 { public byte R; public byte G; public byte B; }