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. }  
  • 相关阅读:
    poj3411
    2241 排序二叉树
    1004 四子连棋
    Poj1482
    poj2046
    Poj3087
    poj3414
    php使用flock堵塞写入文件和非堵塞写入文件
    HTML样式以及使用
    高效程序猿的狂暴之路
  • 原文地址:https://www.cnblogs.com/yyl001/p/14154893.html
Copyright © 2011-2022 走看看