2012-08-15 75 views
0

讨厌问这个问题,但我错在哪里?列表<Label>投掷指数超出范围。必须是非负数且小于集合的大小。错误

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

} 

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

在此先感谢。

回答

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

无需访问索引器。

+0

谢谢Marc! – user1582483 2012-08-15 22:38:56

相关问题