บทความนี้สาธิตวิธีการดึง 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 ไม่รับประกันลำดับ