在if语句中使用按位运算

时间:2012-10-30 12:11:05

标签: c# bit

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

 if (b & 1)

另外,为什么我不能

 b & 1 

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

 int b = b & 1
 if(b)

谢谢!

1 个答案:

答案 0 :(得分:13)

这是因为b& 1是整数(如果b是整数)。

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

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

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