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

คุณสมบัติ SortedDictionary.Values ใน C# : ดึงคอลเลกชันของค่า (Values)

คุณสมบัติ SortedDictionary<TKey, TValue>.Values ใน C# ใช้ดึงคอลเลกชันที่มีเฉพาะค่า (values) จาก SortedDictionary โดยคีย์จะถูกเรียงลำดับอัตโนมัติ

รูปแบบไวยากรณ์ (Syntax)

public System.Collections.Generic.SortedDictionary<TKey,TValue>.ValueCollection Values { get; }

ตัวอย่างที่ 1: การใช้งานพื้นฐานกับ IDictionaryEnumerator

using System;
using System.Collections;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        SortedDictionary sortedDict = new SortedDictionary();
        
        sortedDict.Add(1, "Ultrabook");
        sortedDict.Add(2, "Alienware");
        sortedDict.Add(3, "Notebook");
        sortedDict.Add(4, "Connector");
        sortedDict.Add(5, "Flash Drive");
        sortedDict.Add(6, "SSD");
        sortedDict.Add(7, "HDD");
        sortedDict.Add(8, "Earphone");
        
        Console.WriteLine("SortedDictionary key-value pairs...");
        IDictionaryEnumerator demoEnum = sortedDict.GetEnumerator();
        while (demoEnum.MoveNext())
        {
            Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
        }
        
        Console.WriteLine("\nKey 7 removed from SortedDictionary? = " + sortedDict.Remove(7));
        
        Console.WriteLine("\nSortedDictionary key-value pairs...UPDATED");
        demoEnum = sortedDict.GetEnumerator();
        while (demoEnum.MoveNext())
        {
            Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
        }
        
        // ดึง Keys และ Values แยกกัน
        SortedDictionary.KeyCollection keyList = sortedDict.Keys;
        Console.WriteLine("\nKeys...list");
        foreach (int i in keyList)
        {
            Console.WriteLine(i);
        }
        
        SortedDictionary.ValueCollection valList = sortedDict.Values;
        Console.WriteLine("\nValues...list");
        foreach (string s in valList)
        {
            Console.WriteLine(s);
        }
    }
}

ผลลัพธ์

SortedDictionary key-value pairs...
Key = 1, Value = Ultrabook
Key = 2, Value = Alienware
Key = 3, Value = Notebook
Key = 4, Value = Connector
Key = 5, Value = Flash Drive
Key = 6, Value = SSD
Key = 7, Value = HDD
Key = 8, Value = Earphone
Key 7 removed from SortedDictionary? = True
SortedDictionary key-value pairs...UPDATED
Key = 1, Value = Ultrabook
Key = 2, Value = Alienware
Key = 3, Value = Notebook
Key = 4, Value = Connector
Key = 5, Value = Flash Drive
Key = 6, Value = SSD
Key = 8, Value = Earphone
Keys...list
1
2
3
4
5
6
8
Values...list
Ultrabook
Alienware
Notebook
Connector
Flash Drive
SSD
Earphone

ตัวอย่างที่ 2: ข้อมูลประเภทรถยนต์

using System;
using System.Collections;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        SortedDictionary sortedDict = new SortedDictionary();
        
        sortedDict.Add(1, "SUV");
        sortedDict.Add(2, "MUV");
        sortedDict.Add(3, "Hatchback");
        sortedDict.Add(4, "AUV");
        sortedDict.Add(5, "Convertible");
        sortedDict.Add(6, "Crossover");
        sortedDict.Add(7, "Utility Vehicle");
        
        Console.WriteLine("SortedDictionary key-value pairs...");
        IDictionaryEnumerator demoEnum = sortedDict.GetEnumerator();
        while (demoEnum.MoveNext())
        {
            Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
        }
        
        Console.WriteLine("\nKey 2 removed from SortedDictionary? = " + sortedDict.Remove(2));
        
        Console.WriteLine("\nSortedDictionary key-value pairs...UPDATED");
        demoEnum = sortedDict.GetEnumerator();
        while (demoEnum.MoveNext())
        {
            Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
        }
        
        SortedDictionary.KeyCollection keyList = sortedDict.Keys;
        Console.WriteLine("\nKeys...list");
        foreach (int i in keyList)
        {
            Console.WriteLine(i);
        }
        
        SortedDictionary.ValueCollection valList = sortedDict.Values;
        Console.WriteLine("\nValues...list");
        foreach (string s in valList)
        {
            Console.WriteLine(s);
        }
    }
}

ผลลัพธ์

SortedDictionary key-value pairs...
Key = 1, Value = SUV
Key = 2, Value = MUV
Key = 3, Value = Hatchback
Key = 4, Value = AUV
Key = 5, Value = Convertible
Key = 6, Value = Crossover
Key = 7, Value = Utility Vehicle
Key 2 removed from SortedDictionary? = True
SortedDictionary key-value pairs...UPDATED
Key = 1, Value = SUV
Key = 3, Value = Hatchback
Key = 4, Value = AUV
Key = 5, Value = Convertible
Key = 6, Value = Crossover
Key = 7, Value = Utility Vehicle
Keys...list
1
3
4
5
6
7
Values...list
SUV
Hatchback
AUV
Convertible
Crossover
Utility Vehicle

สรุป

  • Values คืนค่า ValueCollection ที่ implement ICollection<TValue>
  • ลำดับของ Values จะสอดคล้องกับลำดับของ Keys (เรียงตาม Key)
  • สามารถวนลูปด้วย foreach หรือแปลงเป็น List/Array ได้
  • ไม่สามารถแก้ไขค่าใน Dictionary ผ่าน ValueCollection ได้โดยตรง