【发布时间】:2014-12-09 19:31:00
【问题描述】:
我正在创建一个注册应用程序,您可以在其中输入学生姓名、id 和 gpa,并将其全部存储在集合列表中。即使学生注册,标签也显示为 0。这是相关的代码。任何帮助表示赞赏。
namespace Lab09
{
class Student
{
string name;
int id;
int intNumber;
decimal gpa;
public Student(string Name, int Id, decimal Gpa)
{
name = Name;
id = Id;
gpa = Gpa;
}
public string Name
{
set { name = value; }
get
{
return name;
}
}
public int Id
{
get
{
return id;
}
}
public decimal Gpa
{
get
{
return gpa;
}
}
public int Number
{
get
{
return intNumber;
}
}
}
}
namespace Lab09
{
public partial class Form1 : Form
{
List<Student> listofStudents;
int intCurrentStudent = 0;
public Form1()
{
InitializeComponent();
listofStudents = new List<Student>();
}
private void btnRegister_Click(object sender, EventArgs e)
{
try
{
if (Decimal.Parse(txtGPA.Text) > 0 && Decimal.Parse(txtGPA.Text) <= 4)
{
if (txtName.Text != "")
{
listofStudents.Add(new Student(txtName.Text, Int32.Parse(txtID.Text), Decimal.Parse(txtGPA.Text)));
intCurrentStudent = listofStudents.Count - 1;
txtName.Enabled = false;
txtID.Enabled = false;
txtGPA.Enabled = false;
btnRegister.Enabled = false;
if (listofStudents.Count > 1)
{
btnPrevious.Enabled = true;
}
displayNumStudents();
}
}
else
{
MessageBox.Show("You must enter a name and GPA must be above 0 and less than or equal to 4");
}
}
catch
{
MessageBox.Show("ID and GPA need to be numbers");
}
}
private void displayNumStudents()
{
int NumOfStudents = 0;
foreach (Student aStudent in listofStudents)
{
NumOfStudents += aStudent.Number;
}
lblNum.Text = NumOfStudents.ToString();
}
【问题讨论】:
-
您的
Student.Number从未设置,其默认值为 0。
标签: c# list class collections label