C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でHybridDictionaryへのSynchronizeアクセスを取得するにはどうすればよいですか?


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("\nHybridDictionary2 elements...");
      foreach(DictionaryEntry d in dict2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Is HybridDictionary1 equal to HybridDictionary2? = "+(dict1.Equals(dict2)));
      Console.WriteLine("\nSynchronize 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("\nSynchronize 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

  1. C#でOrderedDictionaryの読み取り専用コピーを取得します

    OrderedDictionaryの読み取り専用コピーを取得するには、コードは次のとおりです- 例 using System; using System.Collections; using System.Collections.Specialized; public class Demo {    public static void Main(){       OrderedDictionary dict1 = new OrderedDictionary();       dict1.Add("A&q

  2. Windows 10 および 8 でクイック アクセス メニューをカスタマイズする方法

    パワー ユーザー メニューとも呼ばれるクイック アクセスは、デバイス マネージャー、ディスク管理、コマンド プロンプトなどの高度なシステム ツールにアクセスする最速の方法です。この機能は、Windows 8 のリリース以降に導入されました。 アクセスするには、Windows キーと X キーを同時に押すか、[スタート] メニューを右クリックすると、ポップアップが表示されます。 このリストのアプリケーションではニーズが満たされない場合、または使用しないプログラムを削除したい場合は、Win+X メニュー エディターをダウンロードしてメニューをカスタマイズできます。 . この記事では、Windows