string c="A+B";
Convert.ToInt32(c.Substring(0,1))+Convert.ToInt32(c.Substring(2,1))

解决方案 »

  1.   

    楼上的有两个错误:
    1、SubString的index不对,C#中,字符串索引是从1开始的,不是从0开始的。
    2、即使上面的SubString正确,得到的也是A和B,ToInt32("A"+"B")之后,会throw exception的!
      

  2.   

    我认为可以使用reflection来实现,其实,好像和什么编译原理有关吧?
      

  3.   

    我在网上看到过一个叫Visual Parse ++ 的软件好像是用来分析表达式的。
      

  4.   

    我在网上看到过一个叫Visual Parse ++ 的软件好像是用来分析表达式的。
      

  5.   

    Runtime C# Expression Evaluator
    http://www.codeproject.com/csharp/runtime_eval.asp
      

  6.   

    因为C#是编译后执行的,所以应该不支持类似JavaScript等解释执行语言中的宏替换功能。
    使用.NET中的Hash Table类或许可以部分解决你遇到的问题。
    Value["A"] = A;
    Value["B"] = B;
    if (expression.IndexOf("+") != -1)
    Value[expression.substring(0,1)] + Value[expression.substring(3,1)]
      

  7.   

    saucer(思归)提供的资料很有用!谢了