我在命名空间中找到了这个 gem (IMO) System.Windows.Forms
。我正在努力弄清楚为什么会这样设置。
[Flags]
public enum MouseButtons
{
None = 0,
Left = 1048576,
Right = 2097152,
Middle = 4194304,
XButton1 = 8388608,
XButton2 = 16777216,
}
有人可以解释为什么它使用这些值( to 的力量2^20
)2^24
而不是这个:
public enum MouseButtons
{
None = 0,
Left = 1, // 2^0
Right = 2, // 2^1
Middle = 4, // 2^2
XButton1 = 8, // 2^3
XButton2 = 16, // 2^4
}
第一个值是100000000000000000000
二进制的,它为另外 20 位留出了空间!为什么我们需要这样的空间,为什么要这样保存?