C# 添加列表-两种不同的方法
我有一张教室的名单,然后我得到一张教室里学生的名单。在这个方法中,我首先创建一个教室列表。然后我得到了那个教室的学生名单。现在,当我尝试将学生列表添加到第一个列表时。我得到这个错误 列表的最佳重载方法匹配。。。有无效的参数C# 添加列表-两种不同的方法,c#,list,object,appendto,C#,List,Object,Appendto,我有一张教室的名单,然后我得到一张教室里学生的名单。在这个方法中,我首先创建一个教室列表。然后我得到了那个教室的学生名单。现在,当我尝试将学生列表添加到第一个列表时。我得到这个错误 列表的最佳重载方法匹配。。。有无效的参数 您可能需要重新考虑类结构和变量名。我不确定我的列表应该代表什么,是学生还是教室。您可以使用Select语句解决当前的问题,不过: List<MyList> ClassRooms = GetClassRooms(id) .Select(classroom =
您可能需要重新考虑类结构和变量名。我不确定我的列表应该代表什么,是学生还是教室。您可以使用Select语句解决当前的问题,不过:
List<MyList> ClassRooms = GetClassRooms(id)
.Select(classroom => GetStudentProfile(id, classroom.ID));
return ClassRooms;
列出教室=获取教室(id)
.选择(课堂=>GetStudentProfile(id,教室.id));
返回教室;
这将取教室列表中的每个班级,调用GetStudentProfile,并将其添加到列表中。OMG就是这样scarring@AndreCalil:吓人还是伤痕累累?尽管名称令人困惑,但有一个问题:您无法在迭代列表时修改列表(如添加新项目),就像您在
教室中所做的那样。因此,教室
是类型为MyList
的列表,可以是学生或学生详细信息?无论如何,安德烈是正确的。您在向列表中添加新项时正在对列表进行迭代,这是行不通的。实际上,您应该有一个类
类和一个学生
类<代码>类
将有一个列表
。谢谢Otaia。。。虽然我最终使用了两个不同的类。你的解决方案不错。谢谢你的回答
public class MyList
{
public int ID;
public string Class Number;
public bool Active;
public int StudentID;
public string FirstName;
public string LastName;
public int TotalStudents;
}
List<MyList> ClassRooms = GetClassRooms(id)
.Select(classroom => GetStudentProfile(id, classroom.ID));
return ClassRooms;