flagattribute的枚举值之间可以进行按位与,或,和异或操作,而且每个枚举之中只有一位是真,就是1,其余各位全是0,这就使得flagattribute的枚举值成为表示状态和叠加状态的好工具。比如,A,B 状态 分别由1('00'),2('10')所枚举,那么,A|B='11',就代表了既有A状态又有B状态,但是小弟不知道通过怎样的计算能够简单地得到 有A状态而没有B状态呢??

解决方案 »

  1.   

    按位与,结果大于0int A = 2, B = 4,C=8;
                int D =  A|C;
                
                MessageBox.Show(string.Format("{0}", D & A));
                MessageBox.Show(string.Format("{0}", D & B));
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html