Допустим, у меня есть это перечисление:
[Flags]
enum Letters
{
A = 1,
B = 2,
C = 4,
AB = A | B,
All = A | B | C,
}
Чтобы проверить, установлен ли, например, AB
, я могу сделать следующее:
if((letter & Letters.AB) == Letters.AB)
Есть ли более простой способ проверить, установлены ли какие-либо флаги объединенной постоянной флага, чем следующие?
if((letter & Letters.A) == Letters.A || (letter & Letters.B) == Letters.B)
Не могли бы вы, например, поменять &
с чем-то?
Не слишком стабильно, когда дело доходит до бинарных вещей вроде этого ...