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