Check if a Hashtable is equal to another Hashtable in C#


To check if a Hashtable is equal to another Hashtable, the code is as follows −

Example

 Live Demo

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      Hashtable hash1 = new Hashtable();
      hash1.Add("1", "Kevin");
      hash1.Add("2", "Steve");
      hash1.Add("3", "Tim");
      hash1.Add("4", "Gary");
      hash1.Add("5", "Kevin");
      hash1.Add("6", "Steve");
      hash1.Add("7", "Tom");
      hash1.Add("8", "Stephen");
      Console.WriteLine("HashSet1...");
      ICollection key = hash1.Keys;
      foreach (string k in key) {
         Console.WriteLine(k + ": " + hash1[k]);
      }
      Hashtable hash2 = new Hashtable();
      hash2.Add("1", "Kevin");
      hash2.Add("2", "Steve");
      hash2.Add("3", "John");
      hash2.Add("4", "Tim");
      key = hash2.Keys;
      Console.WriteLine("\nHashSet2...");
      foreach (string k in key) {
         Console.WriteLine(k + ": " + hash2[k]);
      }
      Console.WriteLine("\nAre both the Hashtable equal? "+(hash1.Equals(hash2)));
   }
}

Output

This will produce the following output −

HashSet1...
1: Kevin
2: Steve
3: Tim
4: Gary
5: Kevin
6: Steve
7: Tom
8: Stephen
HashSet2...
1: Kevin
2: Steve
3: John
4: Tim
Are both the Hashtable equal? False

Example

Let us see another example −

 Live Demo

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      Hashtable hash1 = new Hashtable();
      hash1.Add("1", "Kevin");
      hash1.Add("2", "Steve");
      hash1.Add("3", "John");
      hash1.Add("4", "Tim");
      Console.WriteLine("HashSet1...");
      ICollection key = hash1.Keys;
      foreach (string k in key) {
         Console.WriteLine(k + ": " + hash1[k]);
      }
      Hashtable hash2 = new Hashtable();
      hash2.Add("1", "Nathan");
      hash2.Add("2", "Gary");
      hash2.Add("3", "John");
      hash2.Add("4", "Tim");
      hash2.Add("5", "Steve");
      ICollection key2 = hash2.Keys;
      Console.WriteLine("\nHashSet2...");
      foreach (string k in key2) {
         Console.WriteLine(k + ": " + hash2[k]);
      }
      Console.WriteLine("\nAre both the Hashtable equal? "+(hash1.Equals(hash2)));
   }
}

Output

This will produce the following output −

HashSet1...
1: Kevin
2: Steve
3: John
4: Tim
HashSet2...
1: Nathan
2: Gary
3: John
4: Tim
5: Steve
Are both the Hashtable equal? False
raja
Published on 04-Dec-2019 08:02:19
Advertisements