C#List动态嵌套另一个List对象,添加后,子List改变,父级list也发生改变,如何解决?

问题遇到的现象和发生背景

C#List动态嵌套另一个List对象,添加后,子List改变,父级list也发生改变,如何解决?

用代码块功能插入代码,请勿粘贴截图
                      TemporaryModelData = new CProgram.ChildModelData();//TemporaryModelData 是子list,
                          case "Col2": CProgram.m_MarkDataTemp.Col2 = Convert.ToDouble(itemss.InnerText);
                            break;              
                          CProgram.m_ChildModelData.Mark.Add(CProgram.m_MarkDataTemp);
           TemporaryModelData.Mark = CProgram.m_ChildModelData.Mark.GetRange(0, CProgram.m_ChildModelData.Mark.Count);
                             
           CProgram.A_GlueData.Add(TemporaryModelData);//CProgram.A_GlueData是父级list,
                         
运行结果及报错内容

CProgram.A_GlueData添加后,再添加第二个TemporaryModelData时,添加的第一个TemporaryModelData也变成和第二个一样的了?

代码不全
TemporaryModelData 要放到循环里面new,它是引用类型
不要clear它