在 C# 中,为什么第一个 if 语句给我一个编译错误,而第二个却没有?有人可以解释一下吗?
1) if(num & 1 == 1) { Console.WriteLine("测试"); }
这给我:错误 CS0019 运算符“&”不能应用于“int”和“bool”类型的操作数。
2)
var x = num & 1;
if (x == 1) { Console.WriteLine("Test"); }
这编译完美。
最佳答案
优先级为 ==
。所以 num & 1 == 1
应该是 (num & 1) == 1
关于c# - 编译器错误 CS0019 : comparing two integers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43840667/