繁体   English   中英

在C#中未处理FormatException

[英]FormatException was unhandled in C#

我正在独自学习C#,并且试图创建一个用于学习一些控件的简单项目。 而且我像在编写书一样对项目进行编码,但出现错误。 有人可以帮我吗? 谢谢...

错误:mscorlib.dll中发生了'System.FormatException'类型的未处理异常。其他信息:输入字符串的格式不正确。

我的代码:

private void button1_Click(object sender, EventArgs e)
    {
        int sum = 0;
        float average = 0;
        sum += Convert.ToInt32(textBox1.Text);
        sum += Convert.ToInt32(textBox2.Text);
        sum += Convert.ToInt32(textBox3.Text);
        average = (float)sum / 3;
        textBox4.Text = average.ToString();
    }

我的项目

这可能是由于将值放置在TextBoxes中。

正如伊恩(Ian)在评论中所说,调试TextBox.Text,您可能会找到罪魁祸首。

有关更多信息,这对于您检查上一个问题可能非常有用。

该问题的答案之一是使用TryParse()的想法:

int a = 0;
if (!int.TryParse(TextBox.Text, out a))
{
    // Couldn't parse input to an integer, show a message perhaps?
}

参见下面的代码:

private void button1_Click(object sender, EventArgs e)
{
  try
  {
    int sum = 0;
    float average = 0;
    sum += Convert.ToInt32(textBox1.Text);
    sum += Convert.ToInt32(textBox2.Text);
    sum += Convert.ToInt32(textBox3.Text);
    average = (float)sum / 3;
    textBox4.Text = average.ToString();
  }
  catch(FormatException exc)
  {
    textBox4.Text = "ERROR";
  }
}

暂无
暂无

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

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