2010-05-21 92 views
0

我需要測試一個保存在字符串中的邏輯表達式,看它是否計算爲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表達式。

回答