我有枚举:
[Flags, Serializable,]
public enum WeekDays {
Sunday = 1,
Monday = 2,
Tuesday = 4,
Wednesday = 8,
Thursday = 16,
Friday = 32,
Saturday = 64,
WeekendDays = Sunday | Saturday,
WorkDays = Monday | Tuesday | Wednesday | Thursday | Friday,
EveryDay = WeekendDays | WorkDays
}
Run Code Online (Sandbox Code Playgroud)
而且,我WeekDays在一个包含WeekDays枚举值的类中有属性:
public int WeekDays {get; set;}
Run Code Online (Sandbox Code Playgroud)
例如,WorkDays包含62(从星期一到星期五).
如何检查当前WeekDays属性是否包含当天?
使用按位运算符&查看值是否为集合的一部分:
var today = WeekDays.Thursday;
var workdays = WeekDays.WorkDays;
if((today & workdays) == today) {
// today is a workday
}
if((today & WeekDays.Friday) == today) {
// it's friday
}
Run Code Online (Sandbox Code Playgroud)