เพื่อคัดลอกหรือโคลน List ใน C# ให้สร้าง List ก่อน:
List<string> list1 = new List<string>();
list1.Add("One");
list1.Add("Two");
list1.Add("Three");
list1.Add("Four");
ประกาศ Array สำหรับรับข้อมูล และใช้เมธอด CopyTo():
string[] arr = new string[20]; list1.CopyTo(arr);
โค้ดตัวอย่างเต็ม
using System;
using System.Collections.Generic;
using System.Linq;
public class Demo
{
public static void Main()
{
List<string> list1 = new List<string>();
list1.Add("One");
list1.Add("Two");
list1.Add("Three");
list1.Add("Four");
Console.WriteLine("First list...");
foreach(string value in list1)
{
Console.WriteLine(value);
}
string[] arr = new string[20];
list1.CopyTo(arr);
Console.WriteLine("After copy...");
foreach(string value in arr)
{
Console.WriteLine(value);
}
}
}
วิธีอื่นๆ ในการคัดลอก List
- Constructor:
var list2 = new List<string>(list1); - ToList():
var list2 = list1.ToList(); - LINQ:
var list2 = list1.Select(x => x).ToList();