我有一個程序需要支持「用戶選項」以確定它將如何覆蓋文件,用戶可以從「選項」中進行選擇,這會導致多種組合,從而難以編碼所有可能的「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