到达类[0] .AddLesson(one);时出现此错误。行,我不知道为什么会这样?任何想法都很棒...我有两节课,类(class)和时间表

   List<Timetable> classes = new List<Timetable>();
    private void Form1_Load(object sender, EventArgs e)
    {

        Lesson one = new Lesson("maths", 1, 2);
        Lesson two = new Lesson("science", 3, 4);
        classes[0].AddLesson(one);
        classes[1].AddLesson(two);

        DisplayList(classes);

    }

    void DisplayList(List<Timetable> timetable)
    {
        lstTimetable.Items.Clear();
        foreach(Timetable t in timetable)
        {
            lstTimetable.Items.Add(t);
        }
    }

最佳答案

您在这里创建了一个新列表:List<Timetable> classes = new List<Timetable>();但是您没有在列表中添加任何内容,因此它没有长度(零索引)。当您尝试在此处为列表的第一个索引分配值时:classes[0].AddLesson(one);您正在获取异常,因为索引0不存在。
如果要添加到列表,请执行以下操作:classes.Add(one);

关于c# - System.ArgumentOutOfRangeException : 'Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64315714/

10-12 14:42