今天在使用 XNA 时,我注意到使用的枚举类型之一[Flags]
没有None = 0
值:
[Flags]
public enum Buttons
{
DPadUp = 1,
DPadDown = 2,
DPadLeft = 4,
DPadRight = 8,
Start = 16,
Back = 32,
LeftStick = 64,
RightStick = 128,
LeftShoulder = 256,
RightShoulder = 512,
BigButton = 2048,
A = 4096,
B = 8192,
X = 16384,
Y = 32768,
LeftThumbstickLeft = 2097152,
RightTrigger = 4194304,
LeftTrigger = 8388608,
RightThumbstickUp = 16777216,
RightThumbstickDown = 33554432,
RightThumbstickRight = 67108864,
RightThumbstickLeft = 134217728,
LeftThumbstickUp = 268435456,
LeftThumbstickDown = 536870912,
LeftThumbstickRight = 1073741824,
}
根据 MSDN 关于正确使用该[Flags]
属性:
请命名标志枚举的零值
None
。对于标志枚举,该值必须始终表示所有标志都已清除。
如果我想指示一个没有按下按钮的值,是否会违背枚举类型的意图来使用值 0 并将其强制转换为Buttons
?根据设计指南,它应该有这个值,但它没有。