我有四个bool变量,比如说:
bool a=true;
bool b=false;
bool c=true;
bool d=false;
Run Code Online (Sandbox Code Playgroud)
然后我想检查那四个是否相等.然而;
Console.WriteLine(true == false == true == false);
true
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我认为这是因为一个方程的评估顺序,从左到右:
((true == false) == true) == false
(false == true) == false
false == false
true
Run Code Online (Sandbox Code Playgroud)
那么检查所有N> 2个布尔变量是否相等的正确方法是什么?
if(a==b && a==c && a==d)
Run Code Online (Sandbox Code Playgroud)
如果你有不同数量的bool不仅4
var bools = new bool[] { a, b, c, d };
var areAllEqual = bools.Skip(1).All(b=>b==bools[0]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1465 次 |
| 最近记录: |