我有一个程序需要支持“用户选项”以确定它将如何覆盖文件,用户可以从“选项”中进行选择,这会导致多种组合,从而难以编码所有可能的“IF”。 .. ELSE语句“,这个复杂的结果评估很难编码,它变得太长了,也让我疯狂!Logical Evaluator
我期待有某种“解析”,以评估在一个更快,更有机的方式的所有可能的结果,而不IF的长链来解决这个... ELSE块
Here是我在我的程序选择:
例如:用户已选择覆盖文件和拾取选项“FILE SIZE”和选定“> =”,作为该选项的标准,并且还选择了“文件的日期“加”< =“,并选择了”OR“,所有选项选择都会导致s例如“FILE> = x”或“FILE DATE < = x”。
考虑到屏幕截图上的选项,用户可以创建各种可能的逻辑选项,并使用“或”和“与”组合它们,也可以选择“>,<,> =,< = =,<>“。
这个小屏幕背后的复杂性是巨大的,我一直在研究如何解决这个问题,我听说过所谓的Lambda表达式和二叉树,但我不知道它是否适用于我的问题,我想至少有人指出我正确的方向,我甚至不知道如何正确分类我的“问题”时搜索答案:)
在此先感谢所有!
你必须能够在运行时评估布尔表达式(特别是如果用户可以添加他自己的表达式) - > http://stackoverflow.com/questions/8476422/logic-evaluator-in-c-sharp-评估逻辑表达式 – fixagon