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

การคัดลอกข้อมูล SortedList ไปยัง Array Object ใน C#

ภาพรวม

เมธอด CopyTo(Array array, int index) ของ SortedList ใช้คัดลอกข้อมูล (DictionaryEntry) ไปยังอาร์เรย์ตั้งแต่ดัชนีที่ระบุ

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

using System;
using System.Collections;

public class Demo
{
    public static void Main(String[] args)
    {
        SortedList list = new SortedList();
        list.Add("1", "AB");
        list.Add("2", "CD");
        list.Add("3", "EF");
        list.Add("4", "GH");
        list.Add("5", "IJ");
        list.Add("6", "JK");
        list.Add("7", "KL");
        list.Add("8", "LM");

        Console.WriteLine("SortedList elements...");
        foreach (DictionaryEntry d in list)
        {
            Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);
        }

        Console.WriteLine("\nCopied to Array object...");
        DictionaryEntry[] dictArr = new DictionaryEntry[10];
        list.CopyTo(dictArr, 2);

        for (int i = 0; i < dictArr.Length; i++)
        {
            Console.WriteLine("Key = " + dictArr[i].Key + ", Value = " + dictArr[i].Value);
        }
    }
}

ผลลัพธ์

SortedList elements...
Key = 1, Value = AB
Key = 2, Value = CD
Key = 3, Value = EF
Key = 4, Value = GH
Key = 5, Value = IJ
Key = 6, Value = JK
Key = 7, Value = KL
Key = 8, Value = LM

Copied to Array object...
Key = , Value = 
Key = , Value = 
Key = 1, Value = AB
Key = 2, Value = CD
Key = 3, Value = EF
Key = 4, Value = GH
Key = 5, Value = IJ
Key = 6, Value = JK
Key = 7, Value = KL
Key = 8, Value = LM

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

using System;
using System.Collections;

public class Demo
{
    public static void Main(String[] args)
    {
        SortedList list = new SortedList();
        list.Add("1", "Katie");
        list.Add("2", "Andy");
        list.Add("3", "Mark");
        list.Add("4", "Gary");
        list.Add("5", "Sam");

        Console.WriteLine("SortedList elements...");
        foreach (DictionaryEntry d in list)
        {
            Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);
        }

        Console.WriteLine("\nCopied to Array object...");
        DictionaryEntry[] dictArr = new DictionaryEntry[5];
        list.CopyTo(dictArr, 0);

        for (int i = 0; i < dictArr.Length; i++)
        {
            Console.WriteLine("Key = " + dictArr[i].Key + ", Value = " + dictArr[i].Value);
        }
    }
}

ผลลัพธ์

SortedList elements...
Key = 1, Value = Katie
Key = 2, Value = Andy
Key = 3, Value = Mark
Key = 4, Value = Gary
Key = 5, Value = Sam

Copied to Array object...
Key = 1, Value = Katie
Key = 2, Value = Andy
Key = 3, Value = Mark
Key = 4, Value = Gary
Key = 5, Value = Sam

สรุป

  • อาร์เรย์ปลายทางต้องมีขนาดพอรับข้อมูล + ดัชนีเริ่มต้น
  • ดัชนีเริ่มต้น 0 จะเขียนทับตั้งแต่ต้น, ดัชนี > 0 จะเว้นว่างไว้ด้านหน้า
  • ข้อมูลคัดลอกเป็น DictionaryEntry (คู่ Key-Value)