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

  • 相关阅读:
    771. Jewels and Stones
    706. Design HashMap
    811. Subdomain Visit Count
    733. Flood Fill
    117. Populating Next Right Pointers in Each Node II
    250. Count Univalue Subtrees
    94. Binary Tree Inorder Traversal
    116. Populating Next Right Pointers in Each Node
    285. Inorder Successor in BST
    292. Nim Game Java Solutin
  • 原文地址:https://www.cnblogs.com/insus/p/8127745.html
Copyright © 2011-2022 走看看