如何添加验证到我的计算器在c#
本文关键字:我的 计算器 验证 何添加 添加 | 更新日期: 2023-09-27 18:16:38
我正在创建一个计算器,我想在其中添加验证代码,这样如果输入除数字以外的任何内容,就会出现错误消息。
private void button4_Click(object sender, EventArgs e)
{
int R = Convert.ToInt32(textBox1.Text);
int I = Convert.ToInt32(textBox2.Text);
int number2;
if (int.TryParse(textBox1.Text, out number2))
{
int E = R - I;
textBox3.Text = E.ToString();
}
else
{
textBox2.Text = ("value entered is not whole number");
}
}
这是我试图使用的代码,但它出现了一个错误信息,当我输入一个非数字的值
您在TryParse
之前调用Convert.ToInt32
方法,这会导致异常。不要这样做,用TryParse
做验证。
private void button4_Click(object sender, EventArgs e)
{
int R, I;
if (int.TryParse(textBox1.Text, out R) &&
int.TryParse(textBox2.Text, out I))
{
int E = R - I;
textBox3.Text = E.ToString();
}
else
{
MessageBox.Show("You have entered an invalid value!");
}
}
您还可以考虑使用更具描述性的变量名称,而不是E
, R
, I
…
private void button4_Click(object sender, EventArgs e)
{
int R, I;
if (int.TryParse(textBox1.Text, out R)
&& int.TryParse(textBox2.Text, out I))
{
int E = R - I;
textBox3.Text = E.ToString();
}
else { textBox3.Text = ("value entered is not whole number"); }
}
确保您总是尝试使用TryParse
将字符串解析为int,而不是立即转换…如果有字母,则转换失败。
private void button4_Click(object sender, EventArgs e)
{
int number1;
int number2;
if (int.TryParse(textBox1.Text, out number1) && int.TryParse(textBox2.Text, out number2))
{
//do your thang (subtraction, assigning the result to TextBox3)
//return
}
else
{
MessageBox.Show("Oh no you entered something that's not an int!");
}
}
我可能还会补充说,让你的一个输入文本框的值"输入的值不是整数"是一种奇怪的UI体验。我会将文本框标记为红色或弹出一个消息框或其他东西,将输入的值留在框中,以防它是一些非常长的数字,如879320!78,他们不小心输入了一个奇怪的符号或什么。