用math运算符评估C#string

有没有简单的方法来评估"(4+8)*2"这样的string,所以你会得到24的int值?

还是有很多工作需要做到这一点…?

3 Solutions collect form web for “用math运算符评估C#string”

使用Ncalc:

 Expression e = new Expression("(4+8)*2"); Debug.Assert(24 == e.Evaluate()); 

http://ncalc.codeplex.com/

此外,这个问题以前已经问过,并且有一些有趣的答案,包括Ncalc: 评估string“3 *(4 + 2)”yield int 18

其他人添加了这个,然后它被删除。 我认为这很酷,因为没有第三方库的要求。

 上课程序
     {

         static void Main(string [] args)
         {
             Console.WriteLine(评估( “(4 + 8)* 2”));
             Console.ReadKey();
         }

        公共静态双评估(stringexpression式)
         {
             DataTable table = new DataTable();
             table.Columns.Add(“expression”,typeof(string),expression);
             DataRow row = table.NewRow();
             table.Rows.Add(行);
            返回double.Parse((string)row [“expression”]);
         }

     } 
  • 用exception来表示一个string
  • 仅在第一个实例上分割string - java
  • 如何将毫秒转换成人类可读forms?
  • 如何在VB.NET中做逐字string字面值?
  • 如何在Flask上获取查询string?
  • 将浮点数转换为某个精度,然后复制到String
  • 为什么.net对string使用UTF16编码,但使用utf8作为保存文件的默认值?
  • 如何从JavaScript中的string提取基准url?
  • 崇高的文字:正则expression式将大写字母转换为标题大小写?
  • 有没有简单的方法,我可以按字母顺序sortingstring中的字符
  • Swift - 从string中删除“字符