取消设置枚举标志
本文关键字:标志 枚举 设置 取消 | 更新日期: 2023-09-27 18:36:56
>考虑
[Flags]
public enum State
{
IsCool = 0x1,
SomethingElse = 0x2
}
我有一个State someState
,如果某个表达式的计算结果为 true,我想取消设置 someState
的 IsCool
标志,无论它是否已经设置。这意味着我不能真正使用someState ^= State.IsCool
但我可以使用什么?
您需要以与设置标志相反的方式处理此问题:按位和当前状态以及要删除的标志的补充。
someState &= ~State.IsCool;