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

การสร้าง SortedList ใน C#

ภาพรวม

SortedList จัดเก็บคู่คีย์/ค่า และจัดเรียงตามคีย์อัตโนมัติ รองรับการเข้าถึงด้วยคีย์หรือดัชนี

ตัวอย่างที่ 1: สร้าง SortedList และวนลูปด้วย foreach และ Enumerator

using System;
using System.Collections;

public class Demo
{
    public static void Main(String[] args)
    {
        SortedList sortedList = new SortedList();
        sortedList.Add("A", "1");
        sortedList.Add("B", "2");
        sortedList.Add("C", "3");
        sortedList.Add("D", "4");
        sortedList.Add("E", "5");
        sortedList.Add("F", "6");
        sortedList.Add("G", "7");
        sortedList.Add("H", "8");
        sortedList.Add("I", "9");
        sortedList.Add("J", "10");

        Console.WriteLine("SortedList elements...");
        foreach (DictionaryEntry d in sortedList)
        {
            Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);
        }

        Console.WriteLine("Count of SortedList key-value pairs = " + sortedList.Count);

        Console.WriteLine("\nEnumerator to iterate through the SortedList...");
        IDictionaryEnumerator demoEnum = sortedList.GetEnumerator();
        while (demoEnum.MoveNext())
        {
            Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
        }
    }
}

ผลลัพธ์

SortedList elements...
Key = A, Value = 1
Key = B, Value = 2
Key = C, Value = 3
Key = D, Value = 4
Key = E, Value = 5
Key = F, Value = 6
Key = G, Value = 7
Key = H, Value = 8
Key = I, Value = 9
Key = J, Value = 10
Count of SortedList key-value pairs = 10
Enumerator to iterate through the SortedList...
Key = A, Value = 1
Key = B, Value = 2
Key = C, Value = 3
Key = D, Value = 4
Key = E, Value = 5
Key = F, Value = 6
Key = G, Value = 7
Key = H, Value = 8
Key = I, Value = 9
Key = J, Value = 10

ตัวอย่างที่ 2: SortedList คีย์เป็นสตริง ค่าเป็นตัวเลข และค้นหาดัชนีของค่า

using System;
using System.Collections;

public class Demo
{
    public static void Main(String[] args)
    {
        SortedList list1 = new SortedList();
        list1.Add("One", 1);
        list1.Add("Two ", 2);
        list1.Add("Three ", 3);
        list1.Add("Four", 4);
        list1.Add("Five", 5);
        list1.Add("Six", 6);
        list1.Add("Seven ", 7);
        list1.Add("Eight ", 8);
        list1.Add("Nine", 9);
        list1.Add("Ten", 10);

        Console.WriteLine("SortedList1 elements...");
        foreach (DictionaryEntry d in list1)
        {
            Console.WriteLine(d.Key + " " + d.Value);
        }
        Console.Write("Index at value 7 = " + list1.IndexOfValue(7));

        SortedList list2 = new SortedList();
        list2.Add("A", "Accessories");
        list2.Add("B", "Books");
        list2.Add("C", "Smart Wearable Tech");
        list2.Add("D", "Home Appliances");

        Console.WriteLine("\n\nSortedList2 elements...");
        foreach (DictionaryEntry d in list2)
        {
            Console.WriteLine(d.Key + " " + d.Value);
        }
        Console.Write("Index at value Books = " + list2.IndexOfValue("Books"));
    }
}

ผลลัพธ์

SortedList1 elements...
Eight 8
Five 5
Four 4
Nine 9
One 1
Seven 7
Six 6
Ten 10
Three 3
Two 2
Index at value 7 = 5
SortedList2 elements...
A Accessories
B Books
C Smart Wearable Tech
D Home Appliances
Index at value Books = 1

สรุป

  • ข้อมูลจัดเรียงตามคีย์อัตโนมัติ (A-Z, 0-9)
  • ใช้ IndexOfValue() หาดัชนีของค่า (คืน -1 หากไม่พบ)
  • วนลูปได้ด้วย foreach หรือ IDictionaryEnumerator