使用枚举的按位操作

的 FlagsAttribute 每当枚举代表标志位的集合,而不是一个单一的值应该被使用。分配给每个枚举值的数值有助于使用按位运算符操作枚举。

示例 1:使用[Flags]

[Flags]
enum Colors
{
    Red=1,
    Blue=2,
    Green=4,
    Yellow=8
}

var color = Colors.Red | Colors.Blue;
Console.WriteLine(color.ToString());

打印红色,蓝色

示例 2:没有[标志]

enum Colors
{
    Red=1,
    Blue=2,
    Green=4,
    Yellow=8
}
var color = Colors.Red | Colors.Blue;
Console.WriteLine(color.ToString());

打印 3