繁体   English   中英

C#Winforms - 允许表达式在文本框中并返回结果

[英]C# Winforms - allow expressions in a textbox and return result

我试图允许用户将单个数字输入或多个表达式输入到文本框中,并让我的应用程序计算输出。 我确信这是一个相对容易的问题,但我只是在短时间内处理C# - 所以请耐心等待。

为了更好地解释,在单个文本框中,用户可以输入4或1 + 1 + 1 + 1,在这两种情况下输出都是4。

我正在使用Visual Studio和Winforms。

你可以使用这样的表达式评估器http://flee.codeplex.com/

在较高的层次上,它只是为您的输入创建一个解析器,然后处理它。 因此,在您的情况下,您可能希望按优先顺序拆分运算符,然后根据您收到的输入构造一个操作树。 然后,首先从大多数节点的深度解析树。

string[] split = Textbox1.Text.Replace(" ","").Split(Convert.ToChar("+"));

double total = 0;
foreach (string str in split)
{
    double tempInt = 0;
    if (double.TryParse(str, out tempInt))
       total += tempInt;
}


System.Diagnostics.Debug.Write(total);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM