我有四个 bool 变量,比如说:
bool a=true;
bool b=false;
bool c=true;
bool d=false;
然后我想检查这四个是否相等。然而;
Console.WriteLine(true == false == true == false);
true
为什么会这样?我认为这是因为方程式的计算顺序,从左到右:
((true == false) == true) == false
(false == true) == false
false == false
true
那么检查所有 N>2 个 boolean 变量是否相等的正确方法是什么?
最佳答案
if(a==b && a==c && a==d)
如果你有可变数量的 bools 而不仅仅是 4
var bools = new bool[] { a, b, c, d };
var areAllEqual = bools.Skip(1).All(b=>b==bools[0]);
关于c# - 检查四个 boolean 变量是否具有相等的值,非显而易见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14099863/