我正在做一个计算测验和考试分数的程序,它应该显示等效的成绩和字母(即95=A)使用windows表单。
我已经创建了一个结构,它包含学生编号、学生姓名、4次测验和1次考试的分数。在这个结构上,我还创建了封装、一个方法和一个构造函数。
此结构位于不同的文件/类上。我已经创建了一个按钮,它将运行计算分数的方法。这就是我的问题所在,每当我按下“计算”按钮时,我为这个结构创建的构造函数就会出现错误。
StudentInfo compute = new StudentInfo(Convert.ToInt32(tb_studentID),
Convert.ToString(tb_studentName),
Convert.ToDouble(tb_quiz1), Convert.ToDouble(tb_quiz2),
Convert.ToDouble(tb_tp1), Convert.ToDouble(tb_tp2),
Convert.ToDouble(tb_exam));我该如何解决这个问题?
发布于 2016-10-13 16:30:17
使用TryParse而不是Convert方法。这将阻止您拥有"InvalidCastExceptions“。此外,您需要使用TextBox的Text属性,而不是TextBox本身。就像这样试一试:
int studentId;
double quiz2;
if (int.TryParse(tb_studentID.Text, out studentId) && double.TryParse(tb_quiz2.Text, out quiz2) &&
...) {
StudentInfo compute = new StudentInfo(studentId, quiz2 ...);
}发布于 2016-10-13 16:28:40
https://stackoverflow.com/questions/40015796
复制相似问题