考虑
   [Flags]
   public enum State
   {
      IsCool = 0x1,
      SomethingElse = 0x2
   }
我有一个State someState,如果一些表达式的值为true,我想取消设置IsCool的标志someState ,无论它已经被设置或取消的.这意味着我不能真正使用,someState ^= State.IsCool但我可以使用什么呢?
Jon*_*Jon 88
您需要以与设置标志时相反的方式接近此方法:按位和当前状态以及要删除的标志的补码.
someState &= ~State.IsCool;