c#中假定有字符串:"5*3+2-1",如何执行这个字符串使得结果 = 16就是把字符串解析成指令进行执行

解决方案 »

  1.   

    总的来说不能,因为C#是编译型语言
    但是你说的那个是可以的,C#可以调用Jscript引擎执行5*3+2-1
      

  2.   

    C#如何调用Jscript引擎执行"5*3+2-1"?
      

  3.   

    如果是“5*3+2-1”这样 简单的东西
    其实.net 内置的不过无法直接使用DataTable 的变态用法using(DataTable dt = new DataTable())
    {
    int ii = (int)dt.Compute("5*3+2-1",null);

    }
    //或
    int i =  (int)new DataTable().Compute("5*3+2-1",null);返回 16 
    如果要执行,代码的话 CSDN 有很多文章
    又动态编译 C#,VB.net 的这些是 。net 内置功能还有用 javaScrip ,VB script 的是 com 控件
    系统自己带的,CSDN 也有相关文章
      

  4.   

    int i =  (int)new DataTable().Compute("5*3+2-1",null);
    的这个功能也很好用。多谢!结贴!
      

  5.   

    http://blog.csdn.net/zhzuo/archive/2004/04/26/22031.aspx
    C# Script (missing puzzle piece)
    By Oleg Shilo 
    http://www.codeproject.com/csharp/cs-script_for_CP.asp
    C# Script for .NET 2.0
    http://www.codeproject.com/csharp/CSharpScript.asp