C# 调用JS Eval,高效率

本文介绍了一种使用JScript动态计算数学表达式的方法,通过编写并编译JScript代码,实现了一个名为JSCaller的类,该类包含一个Eval函数,用于计算传入的字符串表达式。文章详细描述了代码的编写、编译及在C#中的调用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/// <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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值