Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การคัดลอก ArrayList ทั้งหมดไปยังอาร์เรย์ 1 มิติ เริ่มที่ดัชนีที่กำหนดใน C#

ภาพรวม

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 ต้องเป็น型ที่เข้ากันได้กับอาร์เรย์ปลายทาง