猿问

[Flags]枚举属性在C#中意味着什么?

[Flags]枚举属性在C#中意味着什么?

我不时会看到如下的枚举:

[Flags]public enum Options {
    None    = 0,
    Option1 = 1,
    Option2 = 2,
    Option3 = 4,
    Option4 = 8}

我不明白[Flags]-attribute 到底是做什么的。

任何人都可以发布一个很好的解释或示例?


桃花长相依
浏览 2450回答 3
3回答

慕森王

你也可以这样做[Flags]public&nbsp;enum&nbsp;MyEnum{ &nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;=&nbsp;0, &nbsp;&nbsp;&nbsp;&nbsp;First&nbsp;&nbsp;=&nbsp;1&nbsp;<<&nbsp;0, &nbsp;&nbsp;&nbsp;&nbsp;Second&nbsp;=&nbsp;1&nbsp;<<&nbsp;1, &nbsp;&nbsp;&nbsp;&nbsp;Third&nbsp;&nbsp;=&nbsp;1&nbsp;<<&nbsp;2, &nbsp;&nbsp;&nbsp;&nbsp;Fourth&nbsp;=&nbsp;1&nbsp;<<&nbsp;3}我发现位移比输入4,8,16,32更容易,等等。它对您的代码没有影响,因为它们都是在编译时完成的
随时随地看视频慕课网APP
我要回答