【问题标题】:operator '<<' cannot be applied to operands of type 'bool' and 'int'运算符“<<”不能应用于“bool”和“int”类型的操作数
【发布时间】:2018-08-17 20:55:30
【问题描述】:

这是我的部分代码

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

bool NextBit(ref bool isEndOfScan) 返回布尔值

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

【问题讨论】:

  • NextBit 返回值应该是 int

标签: c#


【解决方案1】:

C++ 允许进行一些 C# 不允许的转换 - 特别是围绕布尔值。

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

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

【讨论】:

    猜你喜欢
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多