[英]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.