Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加列表-两种不同的方法_C#_List_Object_Appendto - Fatal编程技术网

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;