在C#中如何调用EVAL函数方法

我测试了如下的两种方法都可行。

一、用 MSScriptControl 在 C# 中执行 javascript 代码   javascript 中有个eval方法,用过的人都知道他的方便和强大之处。


在C#中,我们也可以通过Com组件来执行一段javascript代码。

下面的代码展示了如何用MSScriptControl 组件执行一段数学表达式:

   MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass();
   sc.Language = "javascript";
   object obj = sc.Eval(" 1 + 2 * (3 + 4)");
   Console.WriteLine(obj);

要使用MSScriptControl需要引用com组件 Microsoft Script Control 1.0。

 

二、引用Microsoft.JScript与Microsoft.Vsa两个命名空间,并调用JScriptEvaluate方法实现

注:需加入Microsoft.JScript与Microsoft.Vsa两个命名空间。
///   <summary>
///   四则混合运算
///   </summary>
///   <param   name= "s "> 计算表达式 </param>
///   <returns> 计算结果 </returns>
///   <example>
///   <code>
///   object   x   =   Mathx.Eval( "1+2*2-6/2 ");
///   </code>
///   </example>
public   static   object   Eval(string   s)

         Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
         return Microsoft.JScript.Eval.JScriptEvaluate(s, ve);

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值