class A { public string a1{get;set}; public string a2{get;set}; public IList<B> a3{get;set}; //包含实体列表,此处要特殊深拷贝 } class B { public string b1{get;set}; public string b2{get;set}; } class main { public void xx() { IList<A> te=new List<A>(); IList<A> te1=new List<A>(); //假设 te 有3条数据,te1为空,要对te 的数据进行深拷贝 foreach ( var item in te) { IList<B> bb=new List<B>(); if(item.a3.count>0) { foreach (var item1 in item.a3) { bb.add(item1); } } te1.add(new A{ //正在拷贝 a1=item.a1, a2=item.a2, a3=bb //此处不可用 item.a3 } } }
代码手打,不可马上执行