项目中应用:
[Flags]
public enum DayOfWeekMask
{
Sunday = 1,
Monday = 2,
Tuesday = 4,
Wednesday = 8,
Thursday = 16,
Friday = 32,
Saturday = 64
}
定义 一周的枚举,这个主要是用来日程管理的时候,重复项目为weekly ,选择 周一,周二重复这个事件,那么枚举的值就是 2+4 =6 ;
如果 知道 枚举的值等于6 ,那么怎么判断 是周一和周二了,之前定义DayOfWeekMask枚举没有加 [Flags] ,没办法出现
Monday | Tuesday
1.在枚举定义加上关键字 [Flags],表示这个是位枚举
2.用&的判断这个枚举值是否出现在这个枚举中
if (repeat == RepeatTypes.EveryWeek || repeat == RepeatTypes.Every2Weeks)
{
if ((
dayodweek & DayOfWeekMask.Sunday) == DayOfWeekMask.Sunday)
{
days.Sunday = true;
}
if ((dayodweek & DayOfWeekMask.Monday) == DayOfWeekMask.Monday)
{
days.Monday = true;
}
if ((dayodweek & DayOfWeekMask.Tuesday) == DayOfWeekMask.Tuesday)
{