【发布时间】:2018-12-20 07:45:21
【问题描述】:
我有两个学校班级,我想要两个将这两个列表合并为一个列表。
public class School
{
public string Name { get; set; }
public List<ClassRoom> ClassRooms { get; set; }
}
public class ClassRoom
{
public int ClassRoomID { get; set; }
public string GradeName { get; set; }
public List<Student> Students { get; set; }
public List<Teacher> Teachers { get; set; }
}
public class Teacher
{
public int TeacherID { get; set; }
public string Name { get; set; }
public List<Adress> Adresses { get; set; }
}
public class Student
{
public int StudentID { get; set; }
public string Name { get; set; }
public List<Adress> Adresses { get; set; }
}
public class Adress
{
public string DetailedAddress { get; set; }
public string ZipCode { get; set; }
}
这是我尝试过的
School school1 = new School();
School school2 = new School();
school1.Name = "new NAme";
school1.ClassRooms.AddRange(school2.ClassRooms);
我面临的问题是内部列表未正确添加。 合并列表没有 列出学生 列出教师
这两个是空的。
【问题讨论】:
-
“合并的列表没有 List Students List Teachers” - 您实际上是在将
school2.ClassRooms的引用添加到school1.ClassRooms中。您不是在复制对象,只是将引用复制到同一个对象。因此,您的问题不是关于合并列表,而是关于为什么school2's ClassRooms 没有教师/学生的任何条目。而且,不幸的是,您没有向我们展示足够的代码。也许您可以提供minimal reproducible example? -
您可以添加示例数据和您的预期结果吗?
-
@John 问题解决了,好像是内存问题;我重新启动了机器,它神奇地工作了
标签: c# linq linq-to-sql