这是我的代码的一部分
ushort code = ...;
...
code <<= 1;
code |= (NextBit(ref isEndOfScan) << 0); //ERROR
bool NextBit(ref bool isEndOfScan)
返回bool
我正在将我的代码从c ++重写为c#。
我试图将函数结果转换为int或编写false
而不是0
,但没有任何帮助。
我想设置变量code
的0位。
答案 0 :(得分:4)
C ++允许某些C#不允许的转换-特别是在布尔值周围。
在这种情况下,您可以只使用条件运算符将返回值视为1或0:
code |= NextBit(ref isEndOfScan) ? 1 : 0;