猿问

enum操作问题请教

<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>

鸿蒙传说
浏览 597回答 2
2回答

冉冉说

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