我正在尝试编写一个计算器只是为了它的乐趣,第一点很容易。 即使使用更多相同类型的计算,也可以进行计算,例如10 + 10 + 10 我的问题来自于当我尝试使用diffrendt计算方法进行长字符串时如何执行此操作。
Ex 10 + 15-5和10-15 + 5给出了非常不同的结果。但是目前我无法存档,因为我的代码在同一个字符串中支持diffrendt计算方法,所以我需要一种方法来查看字符串中发布的计算方法。
我在字符串上使用了.split(' - ','+')但是这让我陷入了一个问题,我无法找到第一个将字符串拆分为什么字符的char,所以我不知道叫什么方法..
我认为最后的事情会是这样的。
If(stringSplitChar == +)
{
int tempRes;
tempRes = Convert.ToInt32(SplitVal[0]);
for (i = 1; i < SplitVal.Count(); i++)
{
tempRes = addVal(tempRes, Convert.ToInt32(SplitVal[i]));
}
endRes = tempRes.ToString(););
}
endRes = temp;
return endRes;
答案 0 :(得分:0)
要公平你需要单独获得,如果你想在没有......的情况下这样做。
using System;
using System.Data;
class Program {
static void Main(string[] args) {
string s ="10+20+30"
var dt = new DataTable();
var result = dt.Compute(s, null);
}
}
答案 1 :(得分:0)
你应该学习解析,语法树,......
您可以查看现有项目以了解其工作原理。例如ncalc。