繁体   English   中英

C# - 如果用户输入错误,如何验证计算器的用户输入?

[英]C# - How to validate the user input for a calculator if the user inputs a wrong input?

我正在 c# 中制作一个简单的计算器应用程序,我遇到了一个问题,如果用户输入例如“4**3”,程序就会崩溃。 有什么方法可以验证输入,以便在用户输入无法计算的内容时进行标记?

string sum = textDisplay.Text;
DataTable dt = new DataTable();
var ans = dt.Compute(sum, "");

正如 Tim 所建议的那样,使用 Try/Catch 块。 显然,这会告诉您尝试后是否失败,但异常确实为您提供了一些信息:

string operation = "4**3";
DataTable dt = new DataTable();
try
{
    var ans = dt.Compute(operation, "");
    MessageBox.Show(ans.ToString());
}
catch (Exception ex)
{
    MessageBox.Show("Operation: " + operation + Environment.NewLine + ex.Message, "Operation Failed");
}  

以上产生:

在此处输入图像描述

如果你想知道在调用Compute()之前它是否会失败,你必须编写自己的语法解析器......这有点否定了首先使用Compute()的全部意义。

暂无
暂无

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

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