)。假设您有两个整数,a = 8,b = 2。在 C++ 中,a | b 是真的。我使用这种行为来处理标志集合。例如,标志将是 1、2、4、8 等等,它们的任何集合都是唯一的。我在 C# 中找不到如何做到这一点,因为 | 和 & 运算符的行为不像在 C++ 中那样。我阅读了有关 C# 中运算符的文档,但我仍然不明白。
编辑:
不幸的是,我似乎在某个地方搞砸了。以这段代码为例:
byte flagCollection = 8;
byte flag = 3;
if ((flag | flagCollection) != 0) MessageBox.Show("y"); else MessageBox.Show("n");
对于我放入标志的任何值,这都会返回“y”。这很明显,因为 3 | 8 将是 11。嗯......我想做的是收集一个标志:1、2、4、8、16,当我给出一个数字时,能够确定它是什么标志。