位或操作。
这种枚举用每一个bit表示一个标志。
这是位运算操作,这要求枚举定义的值是2的N次方(即2进制中的各个位),这样通过位运算可以将枚举进行组合,范例:
public enum 兴趣爱好
{
看书=1,
听音乐=2,
锻炼身体=4,
上网=8
}
那么就可以这样使用:
var 我的爱好=兴趣爱好.听音乐|兴趣爱好.上网;
var 你的爱好=兴趣爱好.上网|兴趣爱好.看书|兴趣爱好.锻炼身体;
var 我们共同的爱好=我的爱好&你的爱好;//结果是“上网”
bool 你是否喜欢听音乐=你的爱好&兴趣爱好.音乐==兴趣爱好.音乐;//结果是false
注:二进制中看书=000001,听音乐=000010,锻炼身体=000100,上网=001000
它们之间可以互相组合而不冲突,比如我的爱好=001010
学习.