public static void Main()
DaysOfWeek selectedDaysOfWeek = DaysOfWeek.Monday | DaysOfWeek.Wednesday | DaysOfWeek.Friday;
selectedDaysOfWeek |= DaysOfWeek.Saturday;
Console.WriteLine(selectedDaysOfWeek);
Console.WriteLine(selectedDaysOfWeek.IsDayOfWeekSelected(DayOfWeek.Monday));
Console.WriteLine(selectedDaysOfWeek.IsDayOfWeekSelected(DayOfWeek.Tuesday));
Console.WriteLine(selectedDaysOfWeek.IsDaysOfWeekSelected(DaysOfWeek.Monday | DaysOfWeek.Wednesday));
Console.WriteLine(selectedDaysOfWeek.IsDaysOfWeekSelected(DaysOfWeek.Monday | DaysOfWeek.Tuesday));
Monday = 1 << DayOfWeek.Monday,
Tuesday = 1 << DayOfWeek.Tuesday,
Wednesday = 1 << DayOfWeek.Wednesday,
Thursday = 1 << DayOfWeek.Thursday,
Friday = 1 << DayOfWeek.Friday,
Saturday = 1 << DayOfWeek.Saturday,
Sunday = 1 << DayOfWeek.Sunday
public static class DaysOfWeekExtensions
public static bool IsDayOfWeekSelected(this DaysOfWeek selection, DayOfWeek which)
var d = (DaysOfWeek)(1 << (int)which);
return (selection & d) == d;
public static bool IsDaysOfWeekSelected(this DaysOfWeek selection, DaysOfWeek which)
return (selection & which) == which;