Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Comparing Hashtables

Posted on 2003-10-23
Medium Priority
Last Modified: 2012-05-04
Does anyone know how to compare two hashtables?

Hashtable ht1 = new Hashtable();
ht1.Add( "exampleKey", "exampleValue" );

Hashtable ht2 = new Hashtable();
ht2.Add( "exampleKey", "exampleValue" );

// This returns false
ht1.Equals( ht2 );
Question by:chadboyer
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
LVL 11

Expert Comment

ID: 9609713
it depends on what you wanna compare.
if you wann check if they are euqal you can check if the dimensions are the same at first.
if the dimensions are the same, you can doublecheck the specific elements to each other.
do you mean that?

Author Comment

ID: 9609873
I want to compare the dimensions and the elements.  I was just hoping that ht1.Equals( ht2 ) would do the work for me.  But it doesn't.
LVL 22

Accepted Solution

_TAD_ earned 250 total points
ID: 9609957

ht1.Equals(ht2) checks to see if the ht1 and ht2 variables refer to the same object.

Hastable ht1 = new Hashtabl();
..    Fill Hashtable

Hashtable ht2 = ht1;

ht1.Equals(ht2)   //  TRUE

This is because ht1 and ht2 really are the same object

Hastable ht1 = new Hashtabl();
Hastable ht2 = new Hashtabl();
ht1.Equals(ht2) // FALSE

you have two distinct objects here ( two "new" statements means two unique obects)


Author Comment

ID: 9610030
I wrote my own Hashtable compare function.  Thanks anyway...
LVL 22

Expert Comment

ID: 9610174

here is some code to compare hashtable values and keys

                  Hashtable ht1 = new Hashtable();


                  Hashtable ht2 = new Hashtable();


                  IDictionaryEnumerator myEnum = ht1.GetEnumerator();
                  bool isSame = true;

                  while ( myEnum.MoveNext() )
                        if (ht2.ContainsKey(myEnum.Key))
                              if (ht1[myEnum.Key]!=ht2[myEnum.Key])
                                    isSame = false;
                              isSame = false;

                  Console.WriteLine("Hashtables ht1 & ht2 are {0}the same", (isSame)?"":"NOT ");

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question