做一个动态计算器

Make an dynamically calculator

我想做一个计算器。 到目前为止我的代码是。

            string input;
            input = Console.ReadLine();
            List<string> numbers = new List<string>();

            string curNumber = "";

            foreach (char c in input)
            {
               if (c =='+'|| c =='-'||c =='/'||c =='*')
               {
                   numbers.Add(curNumber);
                   curNumber = "";
               }
               else
               {
                   curNumber += c.ToString();
               }
            }

现在我不知道我应该如何进一步处理这些数字。 如果输入例如:20+3+13-17。 我如何计算数字? 您将如何在我的代码中实现该逻辑?

var res = new DataTable().Compute("1-2/3*4", null);


编辑: 另请注意,您可以使用数据中的字段 table 来执行诸如对名为 "Total"

的列求和的功能
 var Total = DataTable().Compute("Sum(Total)", null);

另一种选择是使用 IronPython 和 IronRuby:

    var res = new IronPython.Hosting.PythonEngine().EvaluateAs<double>("1-2/3*4");

我的首选方案是使用 NCalc