C#枚举与标志属性

前端之家收集整理的这篇文章主要介绍了C#枚举与标志属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道如果Enums with Flag属性主要用于Bitwise操作,为什么如果枚举值未定义,编译器将自动生成值.

例如

  1. [Flags]
  2. public enum MyColor
  3. {
  4. Yellow = 1,Green = 2,Red = 4,Blue = 8
  5. }

如果值1,2,4,8没有分配,则自动生成将是有帮助的.想知道你的想法.

解决方法

这有点简单:
  1. [Flags]
  2. public enum MyColor
  3. {
  4. Yellow = 1<<0,Green = 1<<1,Red = 1<<2,Blue = 1<<3
  5. }

猜你在找的C#相关文章