System.Collections.ArrayList Arr1=new ArrayList();
Arr1.Add(3);
Arr1.Add(5);
Arr1.Add(2);
Arr1.Add(8);string a = "(0+1)/3";
string b = "(0+2)/3";a和b的数字代表了Arr1的索引序号,即a的值是(Arr1[0] + Arr1[1])/Arr[3]象a和b这样的计算公式希望能够自己随便定义,但是计算都是按Arr1的索引进行的.
如何得到a这样的公式的结果呢?

解决方案 »

  1.   

    string a = "(0+1)/3="+((int.Parse(Arr1[0].ToString())+int.Parse(Arr1[1].ToString()))/int.Parse(Arr1[3].ToString())).ToString();
      

  2.   

    //在引用中添加COM中的MicroSoft Script Control 1.0
    //using MSScriptControl;

    private void Form1_Load(object sender, System.EventArgs e)
    {
    MSScriptControl.ScriptControl sc=new MSScriptControl.ScriptControlClass();
    sc.Language="JavaScript";
    MessageBox.Show(sc.Eval("6+9-9*8").ToString());
    }
      

  3.   

    这么麻烦呀。要是c#有eval这样的方法就简单了