Я получаю сообщение об ошибке, сообщающее, что значение неверного типа.

Я попытался разобрать и попробуйте тоже.

namespace ScoreCalculator
{
    public partial class ScoreCalculator : Form
    {
        Int32 scoreTotal = 0;
        Int32 scoreCount = 0;
        public ScoreCalculator()
        {
            InitializeComponent();
        }
        private void AddBtn_Click(object sender, EventArgs e)
        {

            Int32 average;


            scoreCount +=1;
// the error vvvvvvv
            scoreTotal += Convert.ToInt32(scoreTotalTxt.Text);

            scoreTotalTxt.Text = Convert.ToString(scoreTotal);
            scoreCountTxt.Text = Convert.ToString(scoreCount);
            average = scoreTotal / scoreCount;
            averageTxt.Text = average.ToString();
            scoreTxt.Focus();
        }
}

Это должно позволить мне сделать ScoreTotal равным значению в моем текстовом поле ScoreTotalTxt плюс его предыдущее число.

1
PaulB 12 Сен 2019 в 23:28

2 ответа

Лучший ответ

Convert.ToInt32(scoreTotalTxt.Text); Сбой с ошибкой «входная строка не в правильном формате», если вы попытаетесь преобразовать пустую строку (ничего в вашем текстовом поле) в число

Я предлагаю вам проверить, если поле итогов пусто, и установить его в значение, прежде чем пытаться преобразовать его:

if(string.IsNullOrWhitespace(scoreTotalTxt.Text))
  scoreTotalTxt.Text = "0";
0
JuanR 12 Сен 2019 в 20:39