Creating a synchronized wrapper for the Hashtable in C#


To create a synchronized wrapper for the Hashtable, the code is as follows −

Example

 Live Demo

using System;
using System.Collections;
public class Demo {
   public static void Main() {
      Hashtable hash = new Hashtable();
      hash.Add("1", "AB");
      hash.Add("2", "CD");
      hash.Add("3", "EF");
      hash.Add("4", "GH");
      hash.Add("5", "IJ");
      hash.Add("6", "KL");
      Console.WriteLine("Hashtable elements...");
      foreach(DictionaryEntry d in hash) {
         Console.WriteLine("Key = "+d.Key + ", Value = " + d.Value);
      }
      Console.WriteLine("Hashtable is synchronized? = "+hash.IsSynchronized);
   }
}

Output

This will produce the following output −

Hashtable 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
Hashtable is synchronized? = False

Example

Let us see another example −

 Live Demo

using System;
using System.Collections;
public class Demo {
   public static void Main() {
      Hashtable hash = new Hashtable();
      hash.Add("1", "Mark");
      hash.Add("2", "Gary");
      hash.Add("3", "Jacob");
      hash.Add("4", "Andy");
      hash.Add("5", "Jack");
      Console.WriteLine("Hashtable elements...");
      foreach(DictionaryEntry d in hash) {
         Console.WriteLine("Key = "+d.Key + ", Value = " + d.Value);
      }
      Console.WriteLine("Hashtable is synchronized? = "+hash.IsSynchronized);
      Hashtable hash2 = Hashtable.Synchronized(hash);
      Console.WriteLine("Hashtable is synchronized? = "+hash2.IsSynchronized);
   }
}

Output

This will produce the following output −

Hashtable elements...
Key = 1, Value = Mark
Key = 2, Value = Gary
Key = 3, Value = Jacob
Key = 4, Value = Andy
Key = 5, Value = Jack
Hashtable is synchronized? = False
Hashtable is synchronized? = True

Updated on: 06-Dec-2019

54 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements