簡體   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