Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Tạo wrapper đồng bộ cho SortedList trong C#

Để tạo một wrapper đồng bộ (thread-safe) cho SortedList, ta sử dụng phương thức tĩnh SortedList.Synchronized. Dưới đây là các ví dụ.

Ví dụ 1

using System;
using System.Collections;

public class Demo {
    public static void Main(){
        SortedList sortedList = new SortedList();
        sortedList.Add("1", "Tom");
        sortedList.Add("2", "Ryan");
        sortedList.Add("3", "Nathan");
        
        Console.WriteLine("SortedList elements...");
        foreach(DictionaryEntry d in sortedList){
            Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);
        }
        
        SortedList sortedList2 = SortedList.Synchronized(sortedList);
        Console.WriteLine("SortedList đã đồng bộ? = " + sortedList2.IsSynchronized);
    }
}

Kết quả

SortedList elements...
Key = 1, Value = Tom
Key = 2, Value = Ryan
Key = 3, Value = Nathan
SortedList đã đồng bộ? = True

Ví dụ 2

using System;
using System.Collections;

public class Demo {
    public static void Main(){
        SortedList sortedList = new SortedList();
        sortedList.Add("1", "AB");
        sortedList.Add("2", "CD");
        sortedList.Add("3", "EF");
        sortedList.Add("4", "GH");
        sortedList.Add("5", "IJ");
        sortedList.Add("6", "KL");
        
        Console.WriteLine("SortedList elements...");
        foreach(DictionaryEntry d in sortedList){
            Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);
        }
        
        Console.WriteLine("SortedList đã đồng bộ? = " + sortedList.IsSynchronized);
    }
}

Kết quả

SortedList elements...
Key = 1, Value = AB
Key = 2, Value = CD
Key = 3, Value = EF
Key = 4, Value = GH
Key = 5, Value = IJ
Key = 6, Value = KL
SortedList đã đồng bộ? = False