บทนำ
คุณสมบัติ Dictionary.Keys ใน C# ใช้ดึงคอลเลกชันของคีย์ทั้งหมดใน Dictionary คืนค่าเป็น Dictionary<TKey, TValue>.KeyCollection ซึ่งสามารถวนลูป (iterate) ได้
ไวยากรณ์ (Syntax)
public System.Collections.Generic.Dictionary<TKey, TValue>.KeyCollection Keys { get; }
ตัวอย่างที่ 1: ดึงและแสดงคีย์ทั้งหมด
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("One", "Kagido");
dict.Add("Two", "Ngidi");
dict.Add("Three", "Devillers");
dict.Add("Four", "Smith");
dict.Add("Five", "Warner");
Console.WriteLine("Count of elements = " + dict.Count);
Console.WriteLine("\nKey/value pairs...");
foreach (KeyValuePair<string, string> res in dict)
{
Console.WriteLine("Key = {0}, Value = {1}", res.Key, res.Value);
}
Console.Write("\nAll the keys..\n");
Dictionary<string, string>.KeyCollection allKeys = dict.Keys;
foreach (string str in allKeys)
{
Console.WriteLine("Key = {0}", str);
}
}
}
ผลลัพธ์
Count of elements = 5 Key/value pairs... Key = One, Value = Kagido Key = Two, Value = Ngidi Key = Three, Value = Devillers Key = Four, Value = Smith Key = Five, Value = Warner All the keys.. Key = One Key = Two Key = Three Key = Four Key = Five
ตัวอย่างที่ 2: การอัปเดตค่าและแสดงคีย์
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("One", "Chris");
dict.Add("Two", "Steve");
dict.Add("Three", "Messi");
dict.Add("Four", "Ryan");
dict.Add("Five", "Nathan");
Console.WriteLine("Count of elements = " + dict.Count);
Console.WriteLine("\nKey/value pairs...");
foreach (KeyValuePair<string, string> res in dict)
{
Console.WriteLine("Key = {0}, Value = {1}", res.Key, res.Value);
}
Console.WriteLine("Value for key three = " + dict["Three"]);
dict["Three"] = "Katie";
Console.WriteLine("Updated value associated with key Three...");
Console.WriteLine(dict["Three"]);
Console.Write("\nAll the keys..\n");
Dictionary<string, string>.KeyCollection allKeys = dict.Keys;
foreach (string str in allKeys)
{
Console.WriteLine("Key = {0}", str);
}
}
}
ผลลัพธ์
Count of elements = 5 Key/value pairs... Key = One, Value = Chris Key = Two, Value = Steve Key = Three, Value = Messi Key = Four, Value = Ryan Key = Five, Value = Nathan Value for key three = Messi Updated value associated with key Three... Katie All the keys.. Key = One Key = Two Key = Three Key = Four Key = Five
สรุป
คุณสมบัติ Keys ให้มุมมอง (view) ของคีย์ใน Dictionary ไม่ใช่การคัดลอก (copy) การเปลี่ยนแปลง Dictionary จะสะท้อนใน KeyCollection ทันที ใช้สำหรับการวนลูปคีย์ ตรวจสอบคีย์ด้วย Contains หรือแปลงเป็น List/Array ด้วย ToList()/ToArray()