C# flags vs sample enums

C# flags vs sample enums

本问题已经有最佳答案,请猛点这里访问。

两者有什么区别

1
2
3
4
5
6
7
[Flags]
    public enum AnswerFlags
    {
    A = (1 << 2),
    B = (1 << 1),
    C = (1 << 0)
    }

1
2
3
4
5
6
  public enum AnswerFlags
        {
        A = 4,
        B = 2,
        C = 1
        }

为什么我要使用位而不是整数?


标志和经典枚举的核心区别在于枚举仅包含一个值:A、B或C虽然标记用于保存一组值:A、B、C、AB、AC、BC或ABC。

您可以在这里阅读:MSDN