【发布时间】:2011-06-10 18:30:13
【问题描述】:
假设我有一个值为“1*2+4”的基本字符串
我将如何解析信息然后进行计算?
我正在自学 c#,但我的假设是这是编程中的一个常见问题,但如果不使用库,如何做到这一点?
到目前为止,我的结果已经让我将字符串拆分并将它们放入一个字符数组中,但这是我停止的地方,因为我试图弄清楚如何将字符与运算符以及字符与整数进行比较。
我不确定我是否走对了这条路,但如果有人能指出我正确的方向,那就太好了。
感谢您的帮助。
【问题讨论】:
-
你关心操作顺序吗?
-
没想到这一点,但更喜欢正常的运算符优先规则。
-
"不使用库" 为什么有限制?您假设这是一种常见操作,但您不想使用其他人已经提出的解决方案?
-
假设您希望
4+2*3为 10(即,乘法或除法先于加法或减法),那么请查看 stackoverflow.com/questions/4582398/… 或尝试在 SO 中搜索“方程解析器”。 -
我非常喜欢这种方法,但没有时间检查它是否回答了问题。 social.msdn.microsoft.com/Forums/en-NZ/csharplanguage/thread/…