为了账号安全,请及时绑定邮箱和手机立即绑定

enum操作问题请教

enum操作问题请教

C#
鸿蒙传说 2018-12-16 22:09:31
<P>[Flags]<BR>public enum PCState<BR>{<BR>&nbsp;&nbsp;&nbsp; None=1,Normal=2,Special=4,InQueue=8<BR>}<BR>有一个该类型的变量 state,它的值如下</P> <P>PCState state=PCState.Normal|PCState.InQueue</P> <P>现在我想将其状态替换为PCState.Special|PCState.InQueue,如果再次给state赋值,我当然是会啦,我这里的意图是,判断state是否有PCState.Normal,如果有将原来state中的PCState.Normal删除,再将PCState.InQueue加入到原来的state变量中</P> <P>就是说PCState.Normal和PCState.InQueue是两个互斥的状态,不能同时存在于一个state变量中</P>
查看完整描述

2 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

重新赋值不就把PCState.Normal删除了吗?没看明白你想做什么?我觉的你的目的就是不想Normal和InQueue同时存在,不是吗? if (state == (PCState.Normal | PCState.InQueue)) { state = PCState.Special | PCState.InQueue; } 或者 if (state == (PCState.Normal | PCState.InQueue)) { state = PCState.InQueue; } 不能这样写?

查看完整回答
反对 回复 2018-12-20
  • 2 回答
  • 0 关注
  • 596 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信