C#中字符串转换为计算公式,并计算结果
  根据总结,⼤概分为以下三种:
    第⼀种:⽤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程序集--〉属性--〉嵌⼊互操作类型--〉改为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
    第三种: 引⼊添加 引⽤ 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
    总结,项⽬中难免会出现类似这种情况,我个⼈认为,如果只是简单的计算,第⼀种⽆疑是最⽅便的,若是有逻辑的字符串需要解析,就⽤第⼆种或者是第三种。
    个⼈喜欢。
    本⽂到此结束。谢谢观赏。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。