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
}
}
}
代码手打,不可马上执行