5

有人可以解释为什么这无效吗?我得到“无法将 int 转换为 bool”

 if (b & 1)

还有,为什么我不能

 b & 1 

在代码中,这是正确的方法吗?

 int b = b & 1
 if(b)

谢谢!

4

1 回答 1

13

这是因为 b & 1 的结果是一个整数(如果 b 是一个整数)。

这样做的正确方法是(除其他外):

if ((b & 1) != 0) { ... }

或者

if (Convert.ToBoolean(b & 1)) { ... }

于 2012-10-30T12:12:51.637 回答