首页 > 编程语言 >C# list 分片,对象深拷贝

C# list 分片,对象深拷贝

时间:2022-09-03 21:25:23浏览次数:78  
标签:temp C# list List result ms 分片 new

        /// <summary>
        /// list分片
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list"></param>
        /// <param name="blockSize"></param>
        /// <returns></returns>
        public static List<List<T>> GetBlockList<T>(List<T> list, int blockSize = 5)
        {
            List<List<T>> result = new List<List<T>>();
            var temp = new List<T>();
            for (int i = 0; i < list.Count; i++)
            {
                temp.Add(list[i]);
                if ((i + 1) % blockSize == 0 && i > 0)
                {
                    result.Add(temp);
                    temp = new List<T>();
                }
                if (i == list.Count - 1)
                {
                    result.Add(temp);
                }
            }
            return result;
        }
//className  为类的名称
        public className DeepClone()
        {
            object retval;
            using (MemoryStream ms = new MemoryStream())
            {
                XmlSerializer xml = new XmlSerializer(typeof(className));
                xml.Serialize(ms, this);
                ms.Seek(0, SeekOrigin.Begin);
                retval = xml.Deserialize(ms);
                ms.Close();
            }
            return (className)retval;
        }

  

标签:temp,C#,list,List,result,ms,分片,new
From: https://www.cnblogs.com/request/p/16653670.html

相关文章