根据总结,大概分为以下三种:

 第一种: 用DataTable中的Compute方法。

   例如:" 1*2*3 "

   代码如下:

   var a = new System.Data.DataTable().Compute("1*2*3", "");
//结果a=>6

第二种:利用javascript中的Eval方法解析.此方法需引入添加COM引用:Microsoft Sctipt Control 1.0

   在使用过程中,若出现无法嵌入互操作类型“MSScriptControl.ScriptControlClass”,则可以这样操作。右击MSScriptControl程序集--〉属性--〉嵌入互操作类型--〉改为false

   让我们看下这个方法的强大之处:

   例如:"1*2*3"

   此方法还能解析像这种等字符串 :“if(3>2){  1 }else {  2}”

   代码如下:

MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControlClass();
sc.Language = "javascript";
var b = sc.Eval("1*2*3");
//结果b=>6

第三种: 引入添加.net 引用 Microsoft.JScript 和Microsoft.Vsa

   个人认为此方法跟方法二是一样的,具体区别不清楚

   例如:"1*2*3"

   此方法还能解析像这种等字符串 :“if(3>2){  1 }else {  2}”,跟方法二一样。

   代码如下:

Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
var c = Microsoft.JScript.Eval.JScriptEvaluate("1*2*3", ve);
//结果c=>6

最新文章

  1. expect脚本语言用法示例
  2. 几个功能强大的系统源码(机票分销、机票预订、OA、手机充值、wifi营销、网络超市、体检平台)
  3. setTimeout,clearTimeout和setInterval
  4. 浅谈B树
  5. 使用Xpath对XML进行模糊查询
  6. TCP/IP协议学习(一) LWIP实现网络远程IAP下载更新
  7. Android SDK Manager更新不了的解决办法
  8. ZOJ Monthly, August 2014
  9. C#如何释放已经加载的图片 (转)
  10. perl 获取文件内容里第一个AAA和最后一个AAA
  11. angular 路由的引用
  12. CentOS7: How to install Desktop Environments on CentOS 7?
  13. Centos下部署Flask
  14. 第二周 IP通信基础回顾
  15. pycharm中查看源码的快捷键
  16. 五、Singleton 单例模式
  17. hadoop - hdfs 基础操作
  18. 使用filezilla server搭建FTP服务器
  19. 【原创】标准HTTP请求工具类
  20. Android Studio:Multiple dex files define Landroid/support/annotation/AnimRes

热门文章

  1. opencv3.3+vs2015调用笔记本摄像头成功
  2. arduino相关资料和网站
  3. 详谈Struts+Hibernate+Spring三大框架
  4. Fiddler—重复发送一个请求的设置
  5. ERwin 正向工程
  6. 15年第六届蓝桥杯第七题_(string)
  7. CLISTCTRL 获取点击列
  8. Vue指令1:v-text及v-html
  9. CAD得到多行文本(com接口VB语言)
  10. react-router 4.x 路由按需加载