最近看到论坛有的朋友在问,什么算法来完成 算术表达式的格式到值的计算。正好之前自己在项目中用到过,所以在这里分享一下。
先附上一个之前找到的只进行常规算术运算的方法,首先声明,该方法用于对比,并不推荐使用。
上代码:
上述的第一种方法,其实就是体力活儿,而且并非没有BUG,最重要一点是:它只能做算术运算。
我们来看看第二种方法,通过反映来做,上代码:
第二种方法其实就是动态编译生成一个新的类,然后利用.net来完成计算。
PS:还是集体力量大呀,看到其它网友的回帖,发现算术运算的另外一个简单方法,就是利用DataTable.Compute,是否能完成逻辑运算,有待测试。