C# - 具有 2 个变量的逻辑运算符 - 组合运算符以避免 if 语句
Posted
技术标签:
【中文标题】C# - 具有 2 个变量的逻辑运算符 - 组合运算符以避免 if 语句【英文标题】:C# - logical operators with 2 variables - combining operators to avoid if-statements 【发布时间】:2013-06-20 11:32:09 【问题描述】:我有下表的 2 个布尔值。
我从左到右调用一行语句。
a b result
------------------------
false false false
false true false
true false false
true true true
现在我必须编写代码才能实现所有这些结果。
我或许可以通过使用一些 if 语句、开关命令和逻辑运算符来解决这个问题。
是否可以创建单个堆复杂的逻辑运算符表达式。
类似:
(a^b)||(a&&b)&(a??b)
..(这只是一个例子,所以你可以理解我在做什么)
另一个问题:
有没有软件可以创建多个随机排列的布尔语句(对于 2 个变量)?
这样的软件有什么限制? (以及行/语句的数量如何影响可能适合作为表达式的解决方案的数量,由逻辑运算符组成)
【问题讨论】:
【参考方案1】:始终可以将任意数量的布尔变量和状态解析为canonical form。但是,对于只有 2 个变量,只保留一个包含 16 个可能结果的查找表并根据需要使用会更容易。
【讨论】:
对不起,伙计,我不想粗鲁,但我怀疑你是否正确理解了这个问题。我正在寻找规范形式的表达式(谢谢)。一击匹配上表中的这 4 个状态。以及这样做有多少可能的规范形式。有什么软件吗? 2 变量表达式的 16 表中与特定真值表匹配的条目将包含a && b
。
您好,感谢您的努力,但我对答案还不满意以上是关于C# - 具有 2 个变量的逻辑运算符 - 组合运算符以避免 if 语句的主要内容,如果未能解决你的问题,请参考以下文章