คุณสมบัติ 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ที่ implementICollection<TValue>- ลำดับของ Values จะสอดคล้องกับลำดับของ Keys (เรียงตาม Key)
- สามารถวนลูปด้วย
foreachหรือแปลงเป็น List/Array ได้ - ไม่สามารถแก้ไขค่าใน Dictionary ผ่าน ValueCollection ได้โดยตรง