c# - 检查四个 boolean 变量是否具有相等的值,非显而易见?

标签 c# boolean

我有四个 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/

相关文章:

excel - 将 boolean 自动过滤条件应用于不同的语言

c++ - 严格相同的数组输入

java - 执行方法时 boolean 值不保留值

c# - 如何使用 Microsoft.Extension.DependencyInjection 允许可选服务?

c# - [ComVisible] 默认和公共(public)类 COM 公开有什么关系?

c# - 提取括号中的单词,清晰且随机

java - 如何检查屏幕是否未被触摸

asp.net-mvc - boolean 的MVC路线约束

c# - 什么是 OData Controller 生命周期事件 OnExecuting/OnExecuted?

c# - 将 xml 反序列化为 Linq to SQL 对象