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

本文介绍两种在C#中执行JavaScript代码的有效方法:一是利用MSScriptControl组件;二是通过引用Microsoft.JScript和Microsoft.Vsa命名空间,并使用JScriptEvaluate方法。这两种方法均可用于解析复杂的数学表达式。

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

一、用 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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值