继承,枚举可继承其它基本类型,明确表示为何种基础类型
C#
enum FileAccess:byte{
OK = 0,
Error = 1
}
值,按进制位表示值,方便用于 & | 运算,判断
C#
[Flags]
enum FileAccess:byte{
Read = 1 << 0, // 1
Write = 1 << 1, // 2
ReadOrWrite = Read | Write, //3
}
FileAccess access = FileAccess.Read | FileAccess.Write;
//是否包含 read
if(access & FileAccess.Read > 0){
}
//是否包含 write
if(access & FileAccess.Write > 0){
}
//去掉 read
1. 再次执行又会还原回来,循环往复
access ^= FileAccess.Read;
2. 多次执行不会循环往复
access = access & (~FileAccess.Read);