考虑
[Flags]
public enum State
{
IsCool = 0x1,
SomethingElse = 0x2
}
我有一个 State someState
,如果某个表达式的计算结果为真,我想取消设置 someState
的 IsCool
标志 已经设置或未设置。这意味着我不能真正使用 someState ^= State.IsCool
但我可以使用什么来代替?
最佳答案
您需要采用与设置标志相反的方法:按位与当前状态与要删除的标志的补码。
someState &= ~State.IsCool;
关于c# - 取消设置枚举标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11011020/