zoukankan      html  css  js  c++  java
  • 把一个List<T>的数据复制至另一个List<T>

    把一个数据集List<T>复制至到另一个数据集List<T>。

    方法一,可以使用循环,然后把每一个T添加至另一个集合中去:

     public void ListDemo()
            {
                var listA = new List<int> { 2, 5, 6, 8, 23, 56, 4 };
                var listB = new List<int>();
    
                foreach (int a in listA)
                {
                    listB.Add(a);
                }
            }
    Source Code

    方法二,使用GetRange方法:

     public void ListDemo_A()
            {
                var listA = new List<int> { 2, 5, 6, 8, 23, 56, 4 };
                var listB = listA.GetRange(0, listA.Count);
            }
    Source Code

    方法三,深度拷贝:

     public void ListDemo_B()
            {
                var listA = new List<int> { 2, 5, 6, 8, 23, 56, 4 };
                var listB = new List<int>();
    
                using (MemoryStream ms = new MemoryStream())
                {
                    BinaryFormatter bf = new BinaryFormatter();
                    bf.Serialize(ms, listA);
                    ms.Position = 0;
                    listB = (List<int>)bf.Deserialize(ms);
                }            
            }
    Source Code

    方法四,直接加载法:

     public void ListDemo_C()
            {
                var listA = new List<int> { 2, 5, 6, 8, 23, 56, 4 };
                var listB = new List<int>(listA);            
            }
    Source Code

    方法五:使用序列化与反序列化:

     public void ListDemo_D()
            {
                var listA = new List<int> { 2, 5, 6, 8, 23, 56, 4 };
                var listB = JsonConvert.DeserializeObject<List<int>>(JsonConvert.SerializeObject(listA));
            }
    Source Code



    不管是哪一种方法,可以抽控制台输出ListB集合:

     foreach (int inta in listB)
                {
                    Console.WriteLine(inta);
                }

    以下内容于2017-12-17 21:43分添加:

    上面几个方法中,发现没有入口,可以

    运行:
    f

  • 相关阅读:
    MapXtreme 2005
    QQ在线源码
    Oralce rowid
    MOSS2007 安装与部署(下)
    MapXtreme 2005新增内容
    MOSS 2007安装与部署(上)
    PL/SQL中的where子句比较
    Oracle中插入日期型数据
    在HTML语言网页中加载视频的代码
    HTTP 错误 500.24 Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
  • 原文地址:https://www.cnblogs.com/insus/p/8127745.html
Copyright © 2011-2022 走看看