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

การคัดลอก StringCollection ไปยังอาร์เรย์ที่ดัชนีที่กำหนดใน C#

ภาพรวม

StringCollection.CopyTo(String[] array, int index) คัดลอกสตริงทั้งหมดไปยังอาร์เรย์สตริง เริ่มที่ดัชนีที่ระบุ

ตัวอย่างที่ 1: คัดลอกไปอาร์เรย์ขนาดเท่าจำนวนข้อมูล เริ่มดัชนี 0

using System;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        StringCollection strCol = new StringCollection();
        String[] strArr = new String[] { "Tim", "Tom", "Sam", "Mark", "Katie", "Jacob" };

        Console.WriteLine("Elements...");
        for (int i = 0; i < strArr.Length; i++)
        {
            Console.WriteLine(strArr[i]);
        }

        strCol.AddRange(strArr);

        String[] arr = new String[strCol.Count];
        strCol.CopyTo(arr, 0);

        Console.WriteLine("Elements...after copying StringCollection to array");
        for (int i = 0; i < arr.Length; i++)
        {
            Console.WriteLine(arr[i]);
        }
    }
}

ผลลัพธ์

Elements...
Tim
Tom
Sam
Mark
Katie
Jacob
Elements...after copying StringCollection to array
Tim
Tom
Sam
Mark
Katie
Jacob

ตัวอย่างที่ 2: คัดลอกไปอาร์เรย์ขนาด 10 เริ่มดัชนี 3

using System;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        StringCollection strCol = new StringCollection();
        String[] strArr = new String[] { "Tim", "Tom", "Sam", "Mark", "Katie", "Jacob", "David" };

        Console.WriteLine("Elements...");
        for (int i = 0; i < strArr.Length; i++)
        {
            Console.WriteLine(strArr[i]);
        }

        strCol.AddRange(strArr);

        String[] arr = new String[10];
        strCol.CopyTo(arr, 3);

        Console.WriteLine("Elements...after copying");
        for (int i = 0; i < arr.Length; i++)
        {
            Console.WriteLine(arr[i]);
        }
    }
}

ผลลัพธ์

Elements...
Tim
Tom
Sam
Mark
Katie
Jacob
David
Elements...after copying
Tim
Tom
Sam
Mark
Katie
Jacob
David

สรุป

  • StringCollection เก็บเฉพาะสตริง ใช้ AddRange() เพิ่มหลายค่า
  • CopyTo(String[], int) ต้องการอาร์เรย์สตริงขนาดพอ
  • ตัวอย่างที่ 2: ผลลัพธ์แสดงเพียง 7 ค่าแรก (ช่อง 0-2 ว่าง, 3-9 มีค่า) แต่โค้ดพิมพ์ทั้ง 10 ช่อง