当前位置 : 主页 > 编程语言 > c语言 >

C# 调用JS Eval,高效率

来源:互联网 收集:自由互联 发布时间:2021-06-25
/// summary /// 动态计算表达式 /// /summary class JSCaller{ /// summary /// 动态计算表达式 /// /summary function Eval(expression: String) { return eval(expression, " unsafe " ); }} 1、将上面代码保存为 d:\JSCaller.js 2、
/// <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 代码

网友评论