0

讨厌问这个,但我哪里错了?

public void foo(object sender, EventArgs e)
{
    List<Label> exerciseLabels = new List<Label>();

    string tempExercise = exerciseTextBox.Text;
    int numExercises = 0;
    day[tempDay].addExercise(numExercises, tempExercise);

    exerciseLabels.Add(new Label());
    exerciseLabels[1].Text = string.Format("{0}. {1}", numExercises + 1, tempExercise);

}

我收到一个参数超出范围。

提前致谢。

4

1 回答 1

3
List<Label> exerciseLabels = new List<Label>();
...
exerciseLabels.Add(new Label());
exerciseLabels[1].Text = ...

列表是从 0 开始的;应该是exerciseLabels[0]第一项。或者更好:

var label = new Label();
label.Text = ...
exerciseLabels.Add(label);

无需访问索引器。

于 2012-08-15T22:29:20.947 回答