开发者

VB.NET logical expression evaluator

I need to test a logical expression held in a string to see if it evaluate to TRUE or FALSE.(the strig is built dynamically)

For example the resulting string may contain "'dog'<'cat' OR (1>4 AND 4<6)". There are no variables in the string, it will logically evaluate. It will only contain simple operators = > < >< >= <= and AND , OR and Open and Close Brackets, string constants and numbers. (converted to correct syntax && || etc.)

I currently acheive this by creating a jscipt function and compiling it into a .dll. I then reference the .dll in my VB.NET project.

class ExpressionEvaluator  
{  
  function Evaluate(Expression : String)  
  {  
   开发者_Go百科 return eval(Expression);  
  }  
 }  

Is there a simpler method using built in .NET functions or Lamdba expressions.


I tried the demo out for this project and you might like it over you current method of evaluating. Note, it doesn't use lamdba expressions or any build it .NET methods.

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


try out: http://www.codeproject.com/KB/cs/ExpressionEval.aspx

More guidance :http://www.thefreakparade.com/2008/07/evaluating-expressions-at-runtime-in-net-c/

Good one: http://flee.codeplex.com/ Boolean Example which you are looking for : http://flee.codeplex.com/wikipage?title=BooleanExpression&referringTitle=Examples (ignore the variable adding part as you are not looking for variable)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜