代码之家  ›  专栏  ›  技术社区  ›  law

检查答案按钮的输入字符串格式不正确

c#
  •  0
  • law  · 技术社区  · 1 年前

    我正在尝试创建一个检查答案按钮。我还没有学会如何使用方法,所以我不能在这里使用它们。我首先需要检查数学运算是减法还是加法,然后再从那里开始。Visual studio未检测到任何错误,但当我运行程序并尝试检查输入的答案时,我收到一个错误,告诉我发生了未处理的异常,并且输入字符串的格式不正确。我有一种感觉,问题出在我的int-lblMath上,但我不知道如何检查lbl中的值。

     {
                int First = int.Parse(lblFirst.Text);//The first number in the math equation
                int Second = int.Parse(lblSecond.Text);//The second number in the math equation
                int UserAnswer = Convert.ToInt32(txtAnswer.Text);//The users answer to math question
                int lblMath = int.Parse(lblMathType.Text);//Whether the symbol is + or -
                if(lblMath == '+')
                {
                    int AnswerAdd = First + Second;
                    //Answer is addition
                    if(UserAnswer == AnswerAdd)
                    {
                        MessageBox.Show("Correct");
                    }
                    else if(UserAnswer != AnswerAdd)
                    {
                        MessageBox.Show("Wrong Answer");
                    }
                }
                else if (lblMath == '-')
                {
                    int AnswerSub = First - Second; 
                    //Answer is subtraction
                    if(UserAnswer == AnswerSub)
                    {
                        MessageBox.Show("Correct");
                    }
                    else if (UserAnswer != AnswerSub)
                    {
                        MessageBox.Show("Wrong Answer");
                    }
    
                }
            
    
    1 回复  |  直到 1 年前
        1
  •  0
  •   David    1 年前

    您希望它是一个整数:

    int lblMath = int.Parse(lblMathType.Text);
    

    但你马上就会想到它是一个字符串:

    if(lblMath == '+')
    

    (我真的很惊讶,它居然能编译。)

    什么 整数值 希望字符串 "+" 为什么?例外情况是,字符串 "+" 不是整数。因为它不是。

    这是一根绳子。将其用作字符串:

    string lblMath = lblMathType.Text;