我该如何解决这个错误? “InvalidCastException未处理”

时间:2012-01-23 19:12:39

标签: c#

我在一个介绍级别的编程课程中,我必须制作一个成绩计算器。有2个作业成绩,2个测验成绩和1个最终成绩。家庭作业价值25%,测验价值35%,决赛价值40%。

我希望能够输入学生的成绩和姓名,当我点击“计算”按钮时,会在标签的底部显示课程成绩和学生姓名。

我转换时似乎遇到了一些问题。我尝试过使用整数,我也遇到了同样的问题。我真的可以使用一些帮助了!

以下是按钮点击的代码:

    private void btnCalculate_Click(object sender, RoutedEventArgs e)
    {
        //Defining, converting, and assigning variables
        string studentName = Convert.ToString(tbName);
        double hw1 = Convert.ToDouble(tbHW1);
        double hw2 = Convert.ToDouble(tbHW2);
        double quiz1 = Convert.ToDouble(tbQuiz1);
        double quiz2 = Convert.ToDouble(tbQuiz2);
        double final = Convert.ToDouble(tbFinal);
        const double HWWeight = 0.25;
        const double quizWeight = 0.35;
        const double finalWeight = 0.40;
        double studentGrade;

        //Grade Calculation
        studentGrade = ((hw1 + hw2) * HWWeight) + ((quiz1 + quiz2) * quizWeight) + (final * finalWeight);

        //Display results
        lblLeftResult.Content = studentName;
        lblRightResult.Content = studentGrade;          

    }

1 个答案:

答案 0 :(得分:9)

我认为tbName等是TextBoxes ...在这种情况下你可能需要像:

string studentName = tbName.Text;
double hw1 = double.Parse(tbHW1.Text);
// etc

换句话说,不要尝试转换文本框本身 - 转换文本框的Text