首先,定义枚举的时候必须是2,4,8,16这种2的次方的值。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public enum TestEnum { None = 1, Value1 = 2, Value2 = 4, Value3 = 8, Value4 = 16, Value5 = 32}; class Program { static void Main(string[] args) { TestEnum test; //Detection test = TestEnum.Value3 | TestEnum.Value4; Console.WriteLine((test & TestEnum.Value2) == TestEnum.Value2); //Remove test = TestEnum.Value3 | TestEnum.Value4; test &= ~TestEnum.Value3; Console.WriteLine((test & TestEnum.Value3) == TestEnum.Value3); Console.ReadLine(); //Print: //false //false } } }