>利用c#[Flags]
属性用于位枚举操作
> [Flags]
[Flags]
属性功能:
此属性启用:
|
)组合多个枚举值,以表示单个值中的几个选项。
>在这里,
<code class="language-csharp">[Flags] public enum Options { None = 0, OptionA = 1, OptionB = 2, OptionC = 4, OptionD = 8 }</code>
>
Options
<code class="language-csharp">var combinedOptions = Options.OptionB | Options.OptionC; </code>
>和combinedOptions
>是活动的。OptionB
OptionC
重要的考虑因素:
两个:
的功率,对于无缝的位于无缝的位置操作,枚举值必须是两个(1、2、4、8等)的功率。None
0
识别单个标志: 内部机制:
属性有助于将枚举值用作位标志的使用。 它们的二进制表示基础的位于位操作和改进的字符串输出。HasFlag()
<code class="language-csharp">if (combinedOptions.HasFlag(Options.OptionB)) { // OptionB is set }</code>
Microsoft Docs:flags属性
[Flags]
以上是c#[flags]属性如何在枚举中启用位操作?的详细内容。更多信息请关注PHP中文网其他相关文章!