如何获得对 C# 中 HybridDictionary 的同步访问?
要获取对 HybridDictionary 的同步访问,代码如下 −
示例
using System; using System.Collections; using System.Collections.Specialized; public class Demo { public static void Main() { HybridDictionary dict1 = new HybridDictionary(); dict1.Add("A", "Books"); dict1.Add("B", "Electronics"); dict1.Add("C", "Smart Wearables"); dict1.Add("D", "Pet Supplies"); dict1.Add("E", "Clothing"); dict1.Add("F", "Footwear"); Console.WriteLine("HybridDictionary1 elements..."); foreach(DictionaryEntry d in dict1) { Console.WriteLine(d.Key + " " + d.Value); } Console.WriteLine("Is the HybridDictionary1 having fixed size? = "+dict1.IsFixedSize); Console.WriteLine("If HybridDictionary1 read-only? = "+dict1.IsReadOnly); Console.WriteLine("Is HybridDictionary1 synchronized = "+dict1.IsSynchronized); HybridDictionary dict2 = new HybridDictionary(); dict2.Add("1", "One"); dict2.Add("2", "Two"); dict2.Add("3", "Three"); dict2.Add("4", "Four"); dict2.Add("5", "Five"); dict2.Add("6", "Six"); Console.WriteLine("
HybridDictionary2 elements..."); foreach(DictionaryEntry d in dict2) { Console.WriteLine(d.Key + " " + d.Value); } Console.WriteLine("Is HybridDictionary1 equal to HybridDictionary2? = "+(dict1.Equals(dict2))); Console.WriteLine("
Synchronize access..."); lock(dict2.SyncRoot) { foreach(DictionaryEntry d in dict2) { Console.WriteLine(d.Key + " " + d.Value); } } } }
输出
这将产生以下输出 −
HybridDictionary1 elements... A Books B Electronics C Smart Wearables D Pet Supplies E Clothing F Footwear Is the HybridDictionary1 having fixed size? = False If HybridDictionary1 read-only? = False Is HybridDictionary1 synchronized = False HybridDictionary2 elements... 1 One 2 Two 3 Three 4 Four 5 Five 6 Six Is HybridDictionary1 equal to HybridDictionary2? = False Synchronize access... 1 One 2 Two 3 Three 4 Four 5 Five 6 Six
示例
让我们看另一个示例 −
using System; using System.Collections; using System.Collections.Specialized; public class Demo { public static void Main() { HybridDictionary dict = new HybridDictionary(); dict.Add("A", "SUV"); dict.Add("B", "MUV"); dict.Add("C", "AUV"); Console.WriteLine("HybridDictionary elements..."); foreach(DictionaryEntry d in dict) { Console.WriteLine(d.Key + " " + d.Value); } Console.WriteLine("
Synchronize access..."); lock(dict.SyncRoot) { foreach(DictionaryEntry d in dict) { Console.WriteLine(d.Key + " " + d.Value); } } } }
输出
这将产生以下输出 −
HybridDictionary elements... A SUV B MUV C AUV Synchronize access... A SUV B MUV C AUV
广告