我要对  IList<Model.Series>   进行深拷贝其中Model.Series 这个是自定义的类!
该类里面没有其他的引用类型变量

解决方案 »

  1.   

    foreach(Model.Series m in list)
    {
        Model.Series t=new Model.Seies();
        t.xx=m.xx;
        .....
    }
      

  2.   

    把你的每个类里面,都写clone方法。
    就可以了。
      

  3.   

    都是书上弄的名词。深度拷贝,囧。
    关键是你想拷贝什么,
    IList<Model.Series>是个接口,估计是指向某个List<Model.Series>对象,
    IList<Model.Series> oo = new List<Model.Series>();
    赋值略如果对集合的引用复制
    IList<Model.Series> oo2 = oo;
    此时oo2[1]修改会反映到oo。如果对每个成员复制一份一样的引用
    IList<Model.Series> oo = new List<Model.Series>();
    List<Model.Series> oo2 = new List<Model.Series>(oo);//直接用oo进行初始化
    oo2[1] = new Model.Series();不会影响oo中的内容。但如果Model.Series是class。
    则oo2[1]对属性的修改也会反映到oo那么你最彻底的让oo2和oo分开就是实现复制的接口ICloneable
    彻底的深度复制:
    foreach (Model.Series item in oo)
    {
        oo2.Add((Model.Series)item.Clone());
    }所以,这里有3种复制
      

  4.   

    把你的每个类里面,都写clone方法。