首页 新闻 会员 周边 捐助

我问个问题 a.b| a.e , 这个是什么意思,a是枚举

0
悬赏园豆:10 [已关闭问题]

a.b| a.e , 这个是什么意思,a是枚举

chenleinet的主页 chenleinet | 菜鸟二级 | 园豆:270
提问于:2009-06-24 20:07
< >
分享
其他回答(4)
0

位或操作。

这种枚举用每一个bit表示一个标志。

Azuresong | 园豆:3565 (老鸟四级) | 2009-06-24 20:32
0

这是位运算操作,这要求枚举定义的值是2的N次方(即2进制中的各个位),这样通过位运算可以将枚举进行组合,范例:

public enum 兴趣爱好

{

看书=1,

听音乐=2,

锻炼身体=4,

上网=8

}

 

那么就可以这样使用:

var 我的爱好=兴趣爱好.听音乐|兴趣爱好.上网;

var 你的爱好=兴趣爱好.上网|兴趣爱好.看书|兴趣爱好.锻炼身体;

var 我们共同的爱好=我的爱好&你的爱好;//结果是“上网”

bool 你是否喜欢听音乐=你的爱好&兴趣爱好.音乐==兴趣爱好.音乐;//结果是false

 

注:二进制中看书=000001,听音乐=000010,锻炼身体=000100,上网=001000

它们之间可以互相组合而不冲突,比如我的爱好=001010

斯克迪亚 | 园豆:4124 (老鸟四级) | 2009-06-25 00:07
0

学习.

邢少 | 园豆:10926 (专家六级) | 2009-06-25 10:38
0

斯克迪亚

已经说的很通俗易懂了。 

┊平平淡淡┊ | 园豆:355 (菜鸟二级) | 2009-06-26 02:36
0

就是位或操作

       斯克迪亚说的是一种情况:按位存信息。常见Win API

如果搞c,用的场景就多了

雷猪头 | 园豆:195 (初学一级) | 2009-06-26 20:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册