【发布时间】:2011-03-24 00:38:32
【问题描述】:
我需要确定两个不同的布尔表达式是否相同。例如:
S1 = a ∨ b
S2 = (a ∧ ¬b) ∨ b;
这两个其实是一样的。所以我需要检测它们是否相同。我正在使用 C#。
【问题讨论】:
-
突然想到“为什么”这个词?告诉使用您要解决的实际问题...
-
你的意思是,两个表达式得到相同的结果吗?
-
这看起来不像 C#。您的意思是
S1 = a | b、S2 = a&!b | b,其中a和b是布尔值? -
我已将您的问题编辑为使用布尔代数符号,因为您的符号有点混乱:“∨”表示 OR,“∧”表示 AND,“¬”表示 NOT。不过,我并不是要踩你的脚趾,所以如果这令人困惑,请撤消我的编辑。
-
@MitchWheat 我目前正在尝试解决完全相同的问题。我正在构建一个自定义报告工具,它允许用户指定数据过滤器来生成图表。然后可以注释此图表。无论过滤器是如何应用的,我都需要将这些注释应用于同一个图表。因此,Name='Sam' AND (Team=1 OR Team=2) 的记录量与 (Team=1 OR Team=2) AND Name='Sam' 相同。这是一个非常基本的例子。我认为解决方案将涉及某种订购系统。
标签: c# boolean boolean-logic