Флаги при вычислении текущего дня недели - C#
Формулировка задачи:
Всем доброго времени суток, ребята помогите плиз, а то не соображу чего то как используя флаги организовать следующую проверку %) Пользователю предоставляется выбор из 7 дней недели из которых он может выбрать любой день, несколько любых дней или ни одного вообще... в эти дни скажем так задача "не должна выполнятся" соответственно сделал
ну и есть что то типо такого А вот как теперь используя DateTime.Now.DayOfWeek проверить выбран ли сегодняшний день пользователем или нет.
Т.е. необходимо проверить содержится ли сегодняшний день во флагах Set_Deys_No_Test.
Возможно не в том направлении смотрю, буду рад любым идеям, кускам кодам и т.д. для реализации сего "чуда"
Всем заранее спасибо!
[Flags]
public enum Days
{
Sunday = 0x01,
Monday = 0x02,
Tuesday = 0x04,
Wednesday = 0x08,
Thursday = 0x10,
Friday = 0x20,
Saturday = 0x40,
}Set_Deys_No_Test = Set_Deys_No_Test | Days.Sunday; Set_Deys_No_Test = Set_Deys_No_Test -= Days.Sunday;
Решение задачи: «Флаги при вычислении текущего дня недели»
textual
Листинг программы
using System;
namespace ConsoleApplication168
{
class Program
{
static void Main(string[] args)
{
var today = (Days)(1 << (int)DateTime.Now.DayOfWeek);
var days = Days.Sunday | Days.Monday | Days.Thursday;
if (days.HasFlag(today))
Console.WriteLine("Today is our day!");
}
}
[Flags]
public enum Days: byte
{
None = 0x0,
Sunday = 0x01,
Monday = 0x02,
Tuesday = 0x04,
Wednesday = 0x08,
Thursday = 0x10,
Friday = 0x20,
Saturday = 0x40,
Everyday = 0xff
}
}