C# 循环未正确添加到列表

C# 循环未正确添加到列表,c#,list,loops,listbox,add,C#,List,Loops,Listbox,Add,我想在列表框中列出我的分数列表中的所有对象 private void UpdateStudentScores_Load(object sender, EventArgs e) { students.Fill(); txtName.Text = students[index].WholeName; lstScores.Items.Clear(); int s = 0; for (int i = 0; i < students[index].Scores

我想在列表框中列出我的分数列表中的所有对象

private void UpdateStudentScores_Load(object sender, EventArgs e)
{
    students.Fill();
    txtName.Text = students[index].WholeName;
    lstScores.Items.Clear();
    int s = 0;
    for (int i = 0; i < students[index].ScoresList.Count; i++)
        s = students[index].ScoresList[i];
        lstScores.Items.Add(s);
}
private void UpdateStudentScores\u加载(对象发送方,事件参数e)
{
学生们。填写();
Text=students[index].WholeName;
lstScores.Items.Clear();
int s=0;
for(int i=0;i
我想将“s”添加到我的列表中四次,因为学生[index].ScoresList.Count=4。相反,我只显示列表中的最后一个元素。我哪里出错了?

您需要这个:

lstScores.Items.Add(students[index].ScoresList[i]);
或者大括号:

for (int i = 0; i < students[index].ScoresList.Count; i++)
{
    s = students[index].ScoresList[i];
    lstScores.Items.Add(s);     
}
for(int i=0;i

如果循环体中有多行,请使用大括号。循环运行四次,但只添加最后一项,因为
s
与循环后的最后一项相等。如果不使用花括号,则仅将循环后的第一行视为循环体。因此
lstScores.Items.add(s)循环后执行。

在Visual Studio的代码编辑器中键入
Ctrl-E Ctrl-D
,您将看到。。。