用math运算符评估C#string
有没有简单的方法来评估像"(4+8)*2"
这样的string,所以你会得到24的int值?
还是有很多工作需要做到这一点…?
使用Ncalc:
Expression e = new Expression("(4+8)*2"); Debug.Assert(24 == e.Evaluate());
此外,这个问题以前已经问过,并且有一些有趣的答案,包括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”]); } }