.NET 4.x Атрибут [Flags] - C#
Формулировка задачи:
Ребята, объясните, как он работает.
2 вопроса:
-почему и без применения этого атрибута к enum мы можем использовать оператор | при инициализации переменной, перечисляя разные поля этого энума.
-как, по факту, работает этот атрибут и соответственно оператор |
(идея в том что я не пойму, как можно записать в одну переменную с одним типом, 2 разных значения и что бы эти 2 разных значения были равноправны в одной переменной)
тут желательно подробно
Решение задачи: «.NET 4.x Атрибут [Flags]»
textual
Листинг программы
[Flags]
enum SomeEnum { First = 1, Second = 2, Third = 4 }
class Program
{
static void Main(string[] args)
{
var e = SomeEnum.First | SomeEnum.Third;
Console.WriteLine(e.HasFlag(SomeEnum.First)); //True
Console.WriteLine(e.HasFlag(SomeEnum.Second));//False
Console.WriteLine(e.HasFlag(SomeEnum.Third)); //True
Console.ReadKey();
}