zoukankan      html  css  js  c++  java
  • 引用类型的深拷贝

    参考:https://blog.csdn.net/sun307146966/article/details/8862101

    一、List<T>对象中的T是值类型的情况(int 类型等)

    对于值类型的List直接用以下方法就可以复制:

    1. List<T> oldList =new List<T>();  
    2. oldList.Add(..);  
    3. List<T> newList =new List<T>(oldList); 

    new  Dictionary<string, MxmListModel>( action.mxmDetailsList);  // 深拷贝

    二、List<T>对象中的T是引用类型的情况(例如自定义的实体类)

    1、对于引用类型的List无法用以上方法进行复制,只会复制List中对象的引用,可以用以下扩展方法复制:

    1. staticclass Extensions  
    2. {  
    3.         publicstatic IList<T> Clone<T>(this IList<T> listToClone) where T: ICloneable  
    4.          {  
    5.                 return listToClone.Select(item => (T)item.Clone()).ToList();  
    6.          }  
    7. //<span style="color: rgb(0, 0, 0);">当然前题是List中的对象要实现ICloneable接口</span> 
    8. }  
  • 相关阅读:
    三十五、常用控件
    三十九.导入工程出错
    三十七、创建无图标的应用
    三十二、汉字排序
    三十八、分辨率适配方法
    四十一、打开各种文件的intent
    ExamTime
    MusicPXY3.1
    单目运算符的最新认识
    寄快递费用
  • 原文地址:https://www.cnblogs.com/yyl001/p/14154893.html
Copyright © 2011-2022 走看看