方法一(.netframework框架自带)
//不支持逻辑运算符&&和||运算符
var a = new System.Data.DataTable().Compute("2>(3-2)", "");
方法二(Javascript .NET 谷歌开源项目)
源码地址:http://javascriptdotnet.codeplex.com
夺顶替模压
可通过NuGet包按装,按装后发现只支持X86生成的程序使用,不支持X64位,不知道什么原因。
方式三 微软自家的ClearScript也是开源的
源码地址:https://github.com/Microsoft/ClearScript 中国
按装后ClearScript和ClearScript.V8类都可以使用,ClearScript调用微软自家Javascript 引擎执行,ClearScript.V8调用谷歌Javascript 引擎执行
V8Script v8Script= engine.Compile("1>2");
object val=engine.Evaluate(v8Script);
//Javascript 方法
object result= engine.Evaluate("function getRuselt(){return 123;}getRuselt();");
//IF表达式
object result= engine.Evaluate("if(23>72){12}else {45}");