无法将类型“int”隐式转换为“bool”

paul9137 2007-12-12 10:20:28
Int32 r1;
......
if (r1 & 4 == 0)
{
todo;
}
以上语句在执行时出错,报错内容是:
错误 1 运算符“&”无法应用于“int”和“bool”类型的操作数
查不到这类内容,晕菜了
请求指点,谢了。
...全文
437 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
paul9137 2007-12-12
  • 打赏
  • 举报
回复
谢谢楼上各位
本想每人给20分的,好象刚发的贴不能加分,只好在这里表示感谢了。
zwcrespo 2007-12-12
  • 打赏
  • 举报
回复
楼上正解
kbryant 2007-12-12
  • 打赏
  • 举报
回复
if (r1 & 4 == 0)

里面 == 的优先级比 & 的高,所以他是先运行完 4 == 0 后返回一个BOOL值后再和R1做&操作,所以就出错了
kbryant 2007-12-12
  • 打赏
  • 举报
回复
Int32 r1;
......
if ((r1 & 4 ) == 0)
{
todo;
}

这样应该可以了
tyb1222 2007-12-12
  • 打赏
  • 举报
回复
你这样判断是错误的..C#中不会把整数当成true的..
yzh313 2007-12-12
  • 打赏
  • 举报
回复
if ((r1 & 4) == 0)

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧