VB.NET逻辑表达式求值程序

时间:2010-05-21 13:05:33

标签: vb.net linq lambda eval expression

我需要测试字符串中保存的逻辑表达式,以查看它是否为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表达式的简单方法。

2 个答案:

答案 0 :(得分:1)

我尝试了这个项目的演示,你可能会喜欢它当前的评估方法。注意,它不使用lamdba表达式或任何构建它的.NET方法。

http://web1.codeproject.com/KB/vb/expression_evaluator.aspx?msg=1151870

答案 1 :(得分:0)