如果我申报
[Flags] public enum MyColor { Red = 1; Green = 2; Blue = 4; White = 8; Magenta = 16; ... (etc) }
有没有办法确定/设置此枚举所占用的字节数?而且,什么字节顺序呢? (例如,我必须做一个HostToNetwork()才能通过电线正确发送?)另外,为了调用HostToNetwork,我可以转换为字节数组并重复吗?
解决方法
[Flags] public enum MyColor : byte // sets the underlying type. { Red = 0; Green = 1; Blue = 2; White = 4; Magenta = 8; ... (etc) }
不可能直接设置字节.您可以使用一些精心设计的数字,在一个小端系统上模拟大字节字节.但是,我总是使用显式API来转换字节顺序.