【问题标题】:Loop not properly adding to list循环未正确添加到列表
【发布时间】:2014-03-08 21:41:54
【问题描述】:

我想将我的 ScoresList 中的所有对象列出到一个列表框中。

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);
}

我想在我的列表中添加四次“s”,因为 students[index].ScoresList.Count = 4。相反,我只显示列表中的最后一个元素。我哪里做错了?

【问题讨论】:

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

标签: c# list loops listbox add


【解决方案1】:

你需要这个:

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);     
}

如果您的循环主体中有不止一行,请使用花括号。您的循环运行了四次,但只添加了最后一项,因为s 等于循环后的最后一项。当您不使用花括号时,只有循环后的第一行被视为循环体。所以@987654324 @ 在循环之后执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 2013-05-10
    • 2014-01-22
    • 2014-06-12
    • 2019-03-18
    • 1970-01-01
    相关资源
    最近更新 更多