Флаги при вычислении текущего дня недели - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток, ребята помогите плиз, а то не соображу чего то как используя флаги организовать следующую проверку %) Пользователю предоставляется выбор из 7 дней недели из которых он может выбрать любой день, несколько любых дней или ни одного вообще... в эти дни скажем так задача "не должна выполнятся" соответственно сделал
        [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;
А вот как теперь используя DateTime.Now.DayOfWeek проверить выбран ли сегодняшний день пользователем или нет. Т.е. необходимо проверить содержится ли сегодняшний день во флагах Set_Deys_No_Test. Возможно не в том направлении смотрю, буду рад любым идеям, кускам кодам и т.д. для реализации сего "чуда" Всем заранее спасибо!

Решение задачи: «Флаги при вычислении текущего дня недели»

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
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы