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 代码


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM