我需要測試一個保存在字符串中的邏輯表達式,看它是否計算爲TRUE或FALSE(該strig是動態構建的)
例如,生成的字符串可能包含「'dog' <'cat'OR(1> 4 AND 4 < 6)「。字符串中沒有變量,它將在邏輯上評估。它只包含簡單的運算符=> <> <> = < =和AND,OR以及Open和Close Brackets,字符串常量和數字。 (轉換爲正確的語法& & ||等)VB.NET邏輯表達式求值器
我目前通過創建一個jscipt函數並將其編譯到一個.dll來實現此目的。然後我引用我的VB.NET項目中的.dll。
class ExpressionEvaluator
{
function Evaluate(Expression : String)
{
return eval(Expression);
}
}
是否有一個更簡單的方法使用內置.NET函數或Lamdba表達式。