【发布时间】:2021-01-29 20:45:32
【问题描述】:
我以为这是一个简单的问题,结果至少对我来说没有那么简单。
我有
(bool isEqual, bool duplicateCheckEnabled) group1 = (false, false);
(bool isEqual, bool duplicateCheckEnabled) group2 = (true, true);
(bool isEqual, bool duplicateCheckEnabled) group3 = (true, true);
(bool isEqual, bool duplicateCheckEnabled) group4 = (false, true);
(bool isEqual, bool duplicateCheckEnabled) group5 = (false, false);
这些值是从外部逻辑填充的。我会使用另一个对象的每个元组属性。
对于从group1 到group5 且duplicateCheckEnabled 为真的所有组,我想检查所有相应的isEqual 标志是否为真。对于上面给定的值,我只想考虑 group2、group3 和 group4 isEqual(根据 duplicateCheckEnabled flag true),以便表达式计算为
bool isDuplicate = group2.isEqual && group3.isEqual && group4.isEqual
我是否应该使用数组来仅存储我希望应用 isEqual 比较的组?
【问题讨论】:
-
你为什么不首先使用数组?使用 LINQ 可以轻松完成这项工作。
-
我会使用不同的逻辑填充 5 个组,认为单独维护它更容易,但我明白你的意思。如果我有一个具有两个布尔属性的对象数组并找到一种简单的设置方法,那么更容易过滤掉
标签: c# boolean boolean-logic boolean-expression