C#-仅从字符串计算数学方程

C#-仅从字符串计算数学方程,c#,C#,为了使它简短,我想做的是将一个简单的字符串,如“/”转换成实际的/符号,这样我就可以像这样使用它了 下面代码中的按钮文本就是其中之一 “+”、“-”、“/”、“*” 我希望这是有意义的 谢谢大家。事实证明,您确实可以这样做: 仅使用C#中的字符串计算数学运算 工作 怎么了?你不能这么做。您需要解析字符串,如果您看到/,您将知道需要进行除法。你不能只是把字符串转换成代码(我知道,你真的可以,但你不想)哦,哈哈,我假设他想在标签上显示公式,而不是实际的数学结果!不,这在很多方面折磨着所有优秀的编码原

为了使它简短,我想做的是将一个简单的字符串,如“/”转换成实际的/符号,这样我就可以像这样使用它了

下面代码中的按钮文本就是其中之一 “+”、“-”、“/”、“*”

我希望这是有意义的


谢谢大家。

事实证明,您确实可以这样做:

仅使用C#中的字符串计算数学运算

工作


怎么了?你不能这么做。您需要解析字符串,如果您看到
/
,您将知道需要进行除法。你不能只是把字符串转换成代码(我知道,你真的可以,但你不想)哦,哈哈,我假设他想在标签上显示公式,而不是实际的数学结果!不,这在很多方面折磨着所有优秀的编码原则。哈哈,是的,我知道这不是正常的做法,但我喜欢找到一种新的独特的做事方式,如果我能让代码正常工作,它将取代其他13行代码。所以我宁愿只使用2而不是13。@iankorkie——你会在积累经验的过程中学到,时间越短并不总是越好。在软件开发艺术中有许多行之有效的原则,其中许多原则是通过应用快捷方式而打破的。@iankorkie检查前两行。下面是另一种方法。谢谢,有些方法有效
Button button = (Button)sender;

lblAns.Text = (Convert.ToDouble(txtNum1.Text) + button.Text + Convert.ToDouble(txtNum2.Text)).ToString();
string statement = txtNum1.Text + button.Text + txtNum2.Text;
lblAns.Text = new System.Data.DataTable().Compute(statement, "").ToString();
string result = (new System.Data.DataTable()).Compute("5 * 4 + 1", "").ToString();
Console.WriteLine(result); // prints 21