C# 调用JS Eval,高效率

/// <summary>
/// 动态计算表达式
/// </summary>
class JSCaller
{
    /// <summary>
    /// 动态计算表达式
    /// </summary>
    function Eval(expression: String)
    {
        return eval(expression, "unsafe");
    }
}

1、将上面代码保存为 d:JSCaller.js
2、在运行中执行命令:jsc /t:library d:JSCaller .js
3、生成JSCaller.dll文件,项目中引用:JSCaller.dll 
4、C#中使用

string expression = "(12345 + 321) * 50";
int result = Convert.ToInt32(new JSCaller().Eval(expression));
Console.WriteLine($"计算结果为:{result}");

jsc用法说明:https://docs.microsoft.com/zh-cn/previous-versions/cc435270(v=vs.71)

从命令行编译 JScript 代码

原文地址:https://www.cnblogs.com/zhaoshujie/p/11486913.html