C#第一个特殊字符
本文关键字:特殊字符 第一个 | 更新日期: 2023-09-27 18:22:19
我想写一个计算器只是为了好玩,第一点很容易。让它进行计算,即使有更多相同类型的计算,例如10+10+10当我试图找出如何用不同的计算方法处理长字符串时,我的问题就来了。。
Ex10+15-5和10-15+5给出了非常不同的结果。但目前我无法存档,因为我的代码不支持同一字符串中的不同计算方法,所以我需要一种方法来查看字符串中发布了哪些计算方法。
我在字符串上使用.split('-','+'),但这让我陷入了一个问题,我无法查找第一个拆分字符串的字符是什么,所以我不知道该调用什么方法。。
我认为最后的事情会是这样的。
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;
您应该学习解析、语法树。。。
您可以查看现有的项目来了解它是如何工作的。例如ncalc。
公平地说,你需要单独获得编号,如果你想在没有。。。
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);
}
}