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

วิธีดึง ICollection ที่มีค่าจาก HybridDictionary ใน C#

บทความนี้สาธิตวิธีการดึง ICollection ที่มีค่าทั้งหมด (values) จาก HybridDictionary ใน C# โดยใช้ property Values และคัดลอกไปยังอาร์เรย์เพื่อการเข้าถึงง่ายขึ้น

ตัวอย่างที่ 1: ดึงค่าจาก HybridDictionary

using System;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        HybridDictionary dict = new HybridDictionary();
        dict.Add("One", "Katie");
        dict.Add("Two", "Andy");
        dict.Add("Three", "Gary");
        dict.Add("Four", "Mark");
        dict.Add("Five", "Marie");
        dict.Add("Six", "Sam");
        dict.Add("Seven", "Harry");
        dict.Add("Eight", "Kevin");
        dict.Add("Nine", "Ryan");

        String[] strArr = new String[dict.Count];
        dict.Values.CopyTo(strArr, 0);

        for (int i = 0; i < dict.Count; i++)
            Console.WriteLine(strArr[i]);
    }
}

ผลลัพธ์

Kevin
Harry
Mark
Gary
Katie
Marie
Sam
Andy
Ryan

ตัวอย่างที่ 2: ตัวอย่างเพิ่มเติม

using System;
using System.Collections.Specialized;

public class Demo
{
    public static void Main()
    {
        HybridDictionary dict = new HybridDictionary();
        dict.Add("1", "A");
        dict.Add("2", "B");
        dict.Add("3", "C");
        dict.Add("4", "D");
        dict.Add("5", "E");
        dict.Add("6", "F");

        String[] strArr = new String[dict.Count];
        dict.Values.CopyTo(strArr, 0);

        for (int i = 0; i < dict.Count; i++)
            Console.WriteLine(strArr[i]);
    }
}

ผลลัพธ์

A
B
C
D
E
F

คำอธิบายเพิ่มเติม

  • HybridDictionary เลือกใช้ ListDictionary (สำหรับข้อมูลน้อย) หรือ Hashtable (สำหรับข้อมูลมาก) โดยอัตโนมัติ
  • Property Values คืนค่า ICollection ที่มีค่าทั้งหมดใน dictionary
  • Method CopyTo ใช้คัดลอกข้อมูลจาก collection ไปยังอาร์เรย์เริ่มจาก index ที่ระบุ
  • ลำดับของค่าอาจไม่ตรงกับลำดับที่เพิ่มเข้าไป เนื่องจาก HybridDictionary ไม่รับประกันลำดับ