public enum ooo
{
o1,
o2,
o3
} private void button1_Click(object sender, EventArgs e)
{
ooo a = ooo.o3;
ooo b = ooo.o1 | ooo.o2;
ooo c = ooo.o3 | ooo.o2 | ooo.o1;
MessageBox.Show(a.ToString()); //输出 o3,正确,
MessageBox.Show(b.ToString()); //输出 o2,输出最尾巴的一个?
MessageBox.Show(c.ToString()); //输出 3,直接和(int)c 一样的结果了。
}
{
o1,
o2,
o3
} private void button1_Click(object sender, EventArgs e)
{
ooo a = ooo.o3;
ooo b = ooo.o1 | ooo.o2;
ooo c = ooo.o3 | ooo.o2 | ooo.o1;
MessageBox.Show(a.ToString()); //输出 o3,正确,
MessageBox.Show(b.ToString()); //输出 o2,输出最尾巴的一个?
MessageBox.Show(c.ToString()); //输出 3,直接和(int)c 一样的结果了。
}
ooo b = ooo.o1 | ooo.o2;
ooo c = ooo.o3 | ooo.o2 | ooo.o1;
MessageBox.Show(a.ToString()); //输出 o3,正确,
MessageBox.Show(b.ToString()); //输出 o2,输出最尾巴的一个?
MessageBox.Show(c.ToString()); //输出 3,直接和(int)c 一样的结果了。
----------------------------------------
0与1位或,自然是1。
0与1和2位或,结果是3,这个超过枚举类型的范围了。
那请问,如何实现输出 o1 o2 o3?
{
o1=1,
o2=2,
o3=4
}
芥子 大哥,我知道你的意思。
我的意思是:
ooo c = ooo.o3 | ooo.o2 | ooo.o1;我希望可以输出 o3 o2 o1。
这样可以吗?