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

คุณสมบัติ Dictionary.Keys ใน C# พร้อมตัวอย่าง


บทนำ

คุณสมบัติ 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()