Учитывая перечисление:
[Flags]
enum foo
{
a = 1,
b = 2,
c = 4
}
then
foo example = a | b;
Если я не знаю, содержит ли foo c
, ранее я писал следующее
if (example & foo.c == foo.c)
example = example ^ foo.c;
Есть ли способ сделать это, не проверяя наличие foo.c
в ] example
?
Что касается дополнений, я могу просто выполнить OR
, и если значение enum уже существует в example
, тогда это не имеет значения.