运算符“ <<”不能应用于类型为“ bool”和“ int”的操作数

时间:2018-08-17 12:53:44

标签: c#

这是我的代码的一部分

ushort code = ...;
...
code <<= 1;
code |=  (NextBit(ref isEndOfScan) << 0); //ERROR

bool NextBit(ref bool isEndOfScan)返回bool

我正在将我的代码从c ++重写为c#。 我试图将函数结果转换为int或编写false而不是0,但没有任何帮助。
我想设置变量code的0位。

1 个答案:

答案 0 :(得分:4)

C ++允许某些C#不允许的转换-特别是在布尔值周围。

在这种情况下,您可以只使用条件运算符将返回值视为1或0:

code |= NextBit(ref isEndOfScan) ? 1 : 0;