zoukankan      html  css  js  c++  java
  • List<T> 深度拷贝

            /// <summary>
            /// 不带[Serializable]标识的深度拷贝
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="obj"></param>
            /// <returns></returns>
            public static T DeepCopy<T>(this T obj) where T : class
            {
                object retval = null;
                using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
                {
                    System.Xml.Serialization.XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(T));
                    xml.Serialize(ms, obj);
                    ms.Seek(0, System.IO.SeekOrigin.Begin);
                    retval = xml.Deserialize(ms);
                    ms.Close();
                }
                return (T)retval;
            }
    
            /// <summary>
            /// 带有[Serializable]标识的深度拷贝
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="obj"></param>
            /// <returns></returns>
            public static List<T> Clone<T>(this List<T> obj) where T : class
            {
                using (System.IO.Stream objectStream = new System.IO.MemoryStream())
                {
                    System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                    formatter.Serialize(objectStream, obj);
                    objectStream.Seek(0, System.IO.SeekOrigin.Begin);
                    return formatter.Deserialize(objectStream) as List<T>;
                }
            }
  • 相关阅读:
    把字符串输入到表格里
    x 的 x 次方等于10,求 x
    java 中 二进制串与浮点数的相互转化
    堆栈 Objective-C NSString copy strong
    c一些学习过程中突然错过的细节
    视图控制器
    名词从句
    FastDFS
    Python
    http 提交表单数据
  • 原文地址:https://www.cnblogs.com/honk/p/14461188.html
Copyright © 2011-2022 走看看