我需要测试字符串中保存的逻辑表达式,以查看它是否为TRUE或FALSE。(strig是动态构建的)
例如,结果字符串可以包含“'dog'<'cat'OR(1> 4 AND 4< 6)”。字符串中没有变量,它将在逻辑上进行评估。它只包含简单的运算符=> < >< > =< =和AND,OR和Open和Close Brackets,字符串常量和数字。 (转换为正确的语法&& ||等)
我目前通过创建一个jscipt函数并将其编译为.dll来实现这一点。然后我在我的VB.NET项目中引用.dll。
class ExpressionEvaluator
{
function Evaluate(Expression : String)
{
return eval(Expression);
}
}
是否有一个使用内置.NET函数或Lamdba表达式的简单方法。
答案 0 :(得分:1)
我尝试了这个项目的演示,你可能会喜欢它当前的评估方法。注意,它不使用lamdba表达式或任何构建它的.NET方法。
http://web1.codeproject.com/KB/vb/expression_evaluator.aspx?msg=1151870
答案 1 :(得分:0)