คุณสมบัติ SortedDictionary<TKey, TValue>.Count ใน C# ใช้ดึงจำนวนคู่คีย์-ค่า (key/value pairs) ที่อยู่ใน SortedDictionary ณ ปัจจุบัน
รูปแบบไวยากรณ์ (Syntax)
public int Count { get; }
ตัวอย่างที่ 1: นับจำนวนพร้อม Clear
using System;
using System.Collections;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
SortedDictionary sortedDict = new SortedDictionary();
sortedDict.Add(100, "Mobile");
sortedDict.Add(200, "Laptop");
sortedDict.Add(300, "Desktop");
sortedDict.Add(400, "Speakers");
sortedDict.Add(500, "Headphone");
sortedDict.Add(600, "Earphone");
Console.WriteLine("SortedDictionary key-value pairs...");
IDictionaryEnumerator demoEnum = sortedDict.GetEnumerator();
while (demoEnum.MoveNext())
{
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
Console.WriteLine("Count of key-value pairs = " + sortedDict.Count);
Console.WriteLine("\nThe SortedDictionary has key 200? = " + sortedDict.ContainsKey(200));
sortedDict.Clear();
Console.WriteLine("Count after Clear = " + sortedDict.Count);
}
}
ผลลัพธ์
SortedDictionary key-value pairs... Key = 100, Value = Mobile Key = 200, Value = Laptop Key = 300, Value = Desktop Key = 400, Value = Speakers Key = 500, Value = Headphone Key = 600, Value = Earphone Count of SortedDictionary key-value pairs = 6 The SortedDictionary has the key 200? = True Count of SortedDictionary key-value pairs = 0
ตัวอย่างที่ 2: เพิ่มข้อมูลแล้วนับใหม่
using System;
using System.Collections;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
SortedDictionary sortedDict = new SortedDictionary();
sortedDict.Add(100, "Inspiron");
sortedDict.Add(200, "Alienware");
sortedDict.Add(300, "Projectors");
sortedDict.Add(400, "XPS");
Console.WriteLine("SortedDictionary key-value pairs...");
IDictionaryEnumerator demoEnum = sortedDict.GetEnumerator();
while (demoEnum.MoveNext())
{
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
Console.WriteLine("Count = " + sortedDict.Count);
sortedDict.Add(800, "Notebook");
sortedDict.Add(10000, "Bluetooth Speaker");
Console.WriteLine("\nSortedDictionary key-value pairs...UPDATED");
demoEnum = sortedDict.GetEnumerator();
while (demoEnum.MoveNext())
{
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
}
Console.WriteLine("Count (UPDATED) = " + sortedDict.Count);
sortedDict.Clear();
Console.WriteLine("\nCount after Clear = " + sortedDict.Count);
}
}
ผลลัพธ์
SortedDictionary key-value pairs... Key = 100, Value = Inspiron Key = 200, Value = Alienware Key = 300, Value = Projectors Key = 400, Value = XPS Count of SortedDictionary key-value pairs = 4 SortedDictionary key-value pairs...UPDATED Key = 100, Value = Inspiron Key = 200, Value = Alienware Key = 300, Value = Projectors Key = 400, Value = XPS Key = 800, Value = Notebook Key = 10000, Value = Bluetooth Speaker Count of SortedDictionary key-value pairs (UPDATED) = 6 Count of SortedDictionary key-value pairs (UPDATED) = 0
สรุป
Countเป็น property อ่านอย่างเดียว (read-only) คืนค่าint- มีค่า 0 เมื่อ Dictionary ว่าง หรือหลังเรียก
Clear() - เพิ่มขึ้นเมื่อ
Add()หรือdict[key] = value(key ใหม่) - ลดลงเมื่อ
Remove(key)สำเร็จ หรือClear() - Complexity: O(1) - ดึงค่าได้ทันที ไม่ต้องนับทีละตัว
- แตกต่างจาก
Lengthของ Array/List - Count ใช้กับ Dictionary/Collection
การใช้งานร่วมกับการวนลูป
// ตรวจสอบว่ามีข้อมูลก่อนวนลูป
if (sortedDict.Count > 0)
{
foreach (var kvp in sortedDict)
{
Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
}
// หรือใช้ LINQ
var count = sortedDict.Count(kvp => kvp.Value.StartsWith("A")); // นับเงื่อนไข