Enum и битовая маска - C#

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

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

Здравствуйте. У меня есть перечисление Enum (индексы в шестнадцатеричной системе):
[Flags]
    public enum TICKETS_STATUSES
    {
        InitialReception = 0,
        RepeatedReception = 0x1,
        PrimaryReception1 = 0x2,
        PrimaryReception2 = 0x4,
        PrimaryReception3 = 0x8,
        PrimaryReception4 = 0x10,
        PrimaryReception5 =0x20,
        PrimaryReception6 = 0x40,
        PrimaryReception7 = 0x80
    }
В нужном мне месте я записываю значение перечисления в определённое поле. Выглядит это так:
dtd.IsReserved = (byte)TICKETS_STATUSES.PrimaryReception3
//dtn - переменная класса
//IsReserved - поле
Но проблема в том, что мне нужно записывать в это поле сразу несколько значение. Собственно, мне для этого и посоветовали использовать маску, только не объяснили до конца как =/ Вроде как тут должны значения складываться, потом из этой суммы можно будет легко получить их назад или что-то в этом духе... Знаю, что пишу мягко говоря не точно и не конкретно. Но может кого-то знающего это натолкнёт на правильную мысль. Так как можно в одно поле записать несколько значений перечисления, чтобы потом их можно было легко получить назад?

Решение задачи: «Enum и битовая маска»

textual
Листинг программы
[Flags]
        public enum TICKETS_STATUSES : byte

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


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

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

13   голосов , оценка 4 из 5