[C#] enum 枚举
- 默认情况下,枚举第一个值是0, 可显式为枚举赋值。
- 可以定义枚举的基础类型,如enum E : short {}, sizeof(E) == 2;默认情况下是int。
- 枚举的继承链:ValueType->Enum->enum
- 枚举类型和基础类型之间的转换都是显式的,0除外,因为存在从0代任何枚举类型的隐式转换。
- 枚举的ToString()会输出其枚举值的标识符、
- 从字符串转枚举:AEnumType a = (AEnumType)Enum.Parse(typeof(AEnumType), “flag”);可能失败,代码应包含异常处理机制。
- 可用Enum.IsDefined()检查一个值是否包含在一个枚举中。
- 为枚举添加FlagAttribute,可以使多个枚举值组合使用,形如:
[Flags] public enum FileAttribute { ReadOnly = 0x01, Hidden = 0x02, System = 0x04, Directory = 0x08, } /// FileAttribute fa = FileAttribute.ReadOnly | FileAttribute.Hidden fa.ToString(); // "ReadOnly, Hidden" FileAttribute fa2 = (FileAttribute)3; fa2.ToString();//"ReadOnly, Hidden"