如何解决C# - 如果用户输入错误,如何验证计算器的用户输入?
我正在用 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()
中使用的全部意义第一名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。