把一個數據集List<T>複製至到另一個數據集List<T>。 方法一,可以使用迴圈,然後把每一個T添加至另一個集合中去: public void ListDemo() { var listA = new List<int> { 2, 5, 6, 8, 23, 56, 4 }; var listB ...
把一個數據集List<T>複製至到另一個數據集List<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
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分添加:
上面幾個方法中,發現沒有入口,可以