ภาพรวม
ArrayList.CopyTo(Array array, int index) คัดลอกทุกข้อมูลจาก ArrayList ไปยังอาร์เรย์ปลายทาง เริ่มที่ดัชนีที่ระบุ
ตัวอย่างที่ 1: คัดลอกสตริงไปอาร์เรย์ขนาด 6 เริ่มดัชนี 0 (เขียนทับทั้งหมด)
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
ArrayList list = new ArrayList();
list.Add("PQ");
list.Add("RS");
list.Add("TU");
list.Add("UV");
list.Add("WX");
list.Add("YZ");
Console.WriteLine("ArrayList elements...");
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
String[] strArr = new String[6] { "One", "Two", "Three", "Four", "Five", "Six" };
Console.WriteLine("\nArray elements...");
for (int i = 0; i < strArr.Length; i++)
{
Console.WriteLine(strArr[i]);
}
list.CopyTo(strArr, 0);
Console.WriteLine("\nArray elements (updated)...");
for (int i = 0; i < strArr.Length; i++)
{
Console.WriteLine(strArr[i]);
}
}
}
ผลลัพธ์
ArrayList elements... PQ RS TU UV WX YZ Array elements... One Two Three Four Five Six Array elements (updated)... PQ RS TU UV WX YZ
ตัวอย่างที่ 2: คัดลอกตัวเลขไปอาร์เรย์ขนาด 5 เริ่มดัชนี 0 (เขียนทับบางส่วน)
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
ArrayList list = new ArrayList();
list.Add(100);
list.Add(200);
Console.WriteLine("ArrayList elements...");
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
int[] intArr = new int[5] { 10, 20, 30, 40, 50 };
Console.WriteLine("\nArray elements...");
for (int i = 0; i < intArr.Length; i++)
{
Console.WriteLine(intArr[i]);
}
list.CopyTo(intArr, 0);
Console.WriteLine("\nArray elements (updated)...");
for (int i = 0; i < intArr.Length; i++)
{
Console.WriteLine(intArr[i]);
}
}
}
ผลลัพธ์
ArrayList elements... 100 200 Array elements... 10 20 30 40 50 Array elements (updated)... 100 200 30 40 50
สรุป
- อาร์เรย์ปลายทางต้องมีขนาดพอรับข้อมูล + ดัชนีเริ่มต้น
- ดัชนี 0 = เขียนทับตั้งแต่ต้น, ดัชนี > 0 = เว้นว่างด้านหน้า
- ข้อมูลใน ArrayList ต้องเป็น型ที่เข้ากันได้กับอาร์เรย์ปลายทาง