如果我宣布
[Flags]
public enum MyColor
{
Red = 1;
Green = 2;
Blue = 4;
White = 8;
Magenta = 16;
... (etc)
}
Run Code Online (Sandbox Code Playgroud)
有没有办法确定/设置此枚举占用的字节数?它还会以什么字节顺序结束?(例如,我是否必须通过线路正确发送HostToNetwork()?)另外,为了调用HostToNetwork,我可以转换为字节数组并进行迭代吗?
Meh*_*ari 10
[Flags]
public enum MyColor : byte // sets the underlying type.
{
Red = 0;
Green = 1;
Blue = 2;
White = 4;
Magenta = 8;
... (etc)
}
Run Code Online (Sandbox Code Playgroud)
直接设置字节序是不可能的.您可以使用一些精心设计的数字来模拟小端系统上的大端字节.但是,我总是使用显式API来转换字节顺序.
完整的答案是:
是:
[Flags]
public enum MyColor : byte // sets the underlying type.
{
Red = 1;
Green = 2;
Blue = 4;
White = 8;
Magenta = 16;
... (etc)
}
Run Code Online (Sandbox Code Playgroud)
无论它是什么编译,所以对于我的情况,x86(小).
这是它的棘手问题.我发现了一些东西: