针对enum枚举来说,可以定义位标志属性,从而使该枚举类型的实例可以存储枚举列表中定义值的任意组合。可以用 与(&)、或(|)、异或(^)进行相应的运算。废话不多说,代码最直接。
//每一个定义值都是一个位标志 [Flags] enum Days { Sunday=0x01, Monday=0x02, Tuesday=0x04, Wednesday=0x08, Thursday=0x10, Friday=0x20, Saturday=0x40 } //--------------------------------------------------- //可以用 或(|) 运算符来组合 Days meetingDay = Days.Monday | Days.Tuesday; Console.WriteLine(meetingDay); //打印 Monday, Tuesday //用 与(&) 运算符来判断是否包含该值 打印yes if((meetingDay & Days.Monday) == Days.Monday) Console.WriteLine("yes"); else Console.WriteLine("none"); //用 异或(^) 运算符来去除其中一个值 meetingDay = meetingDay ^ Days.Monday; Console.WriteLine(meetingDay); //打印 Tuesday