编译器错误CS0029:"if(int&int)"

Mix*_*xer 3 c# int boolean implicit-conversion

在C++中调整旧代码编译器不传递类型表达式"if(a&b)"

int a = 32;
int b = 1;
if (a & b) {} <--- Compiler Error
Run Code Online (Sandbox Code Playgroud)

从Int到Bool的隐式转换.我可以改为if ((a & b)! = 0) {} 但是在许多地方阅读和发现它更糟糕.

有没有办法解决?

Céd*_*non 5

在C#中没有隐式转换.并且if只接受布尔值.

你必须做 : if ((a & b) != 0) {}