Dictionaries and Hash Table in C#

This article explains the concept of dictionaries in C#, from the basics to the level afterwards I'll explain the concept of types of dictionaries and the concept of a hash table and it's related useful operations with their respective example.

This article explains the concept of dictionaries in C#, from the basics to the level afterwards I'll explain the concept of types of dictionaries and the concept of a hash table and it's related useful operations with their respective example.

Dictionaries

  • Dictionaries are used to associate a specific key with a given value.
  • Dictionaries are collection classes.
    Functionality or access to the dictionary in C# is provided using: "using System.Collections;"
  • A dictionary uses KEYS, for their functioning.
  • Dictionaries don't have any sense of order.
  • Keys, works as lookups for table.
  • A dictionary contains various sets of members in their declaration.


Now to explain hash tables.

Hash Table | Dictionaries
 

  • A Hash Table is an example of a dictionary.
  • Declared in the same fashion as you declare other classes in C#.
  • Declared using this function Hashtable HT = new Hashtable();
  • This will create a new hash table, in which you can add data and perform other operations.

Operations | Hash Table

The major operations of a hash table are:



Add Operation | Hash Table

Adding Data to the Hash Table

There are two methods to add data to your hash table in C#, you can both use or any of them in your code. I'll show both methods with an example.

Method 1

In method 1 for adding data we use:

HT.Add("CShub""cshub.somee.com");
HT.Add(
"GoogleSays""jaiswalabhishek.blogspot.in");
HT.Add(
"Picmaniac""picmaniac.brinkster.net");  

Method 2

In method 2 we use:

HT["GoogleSays"] = "jaiswalabhishek.blogspot.in";
HT[
"CShub"] = "cshub.somee.com";

Example | Hash Table

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Hello_Word

{

    class Program

    {

        static void Main(string[] args)

        {

 

            Hashtable HT = new Hashtable();

            HT.Add("CShub""cshub.somee.com");

            HT.Add("GoogleSays""jaiswalabhishek.blogspot.in");

            HT.Add("Picmaniac""picmaniac.brinkster.net");  

 

 

            Console.WriteLine("Address for website {0} is {1}  ""GoogleSays", HT["GoogleSays"]);

 

            Console.ReadLine();

        }

     }

}



The following is the second method for the same functionality.

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Hello_Word

{

    class Program

    {

        static void Main(string[] args)

        {

 

            Hashtable HT = new Hashtable();

           // HT.Add("CShub", "cshub.somee.com");

           // HT.Add("GoogleSays", "jaiswalabhishek.blogspot.in");

           // HT.Add("Picmaniac", "picmaniac.brinkster.net");  

            HT["GoogleSays"] = "jaiswalabhishek.blogspot.in";

            HT["CShub"] = "cshub.somee.com";

 

            Console.WriteLine("Address for website {0} is {1}  ""GoogleSays", HT["GoogleSays"]);

 

            Console.ReadLine();

        }

     }

}



Count Operation | Hash Table

As in other languages, in C# count is used for counting the total number of data values available in the hash table.

There is no sense of order in the hash table for this operation.

A count operation is performed by: Console.WriteLine("Total websites of abhishek jaiswal are {0}", HT.Count);

Example | Count

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Hello_Word

{

    class Program

    {

        static void Main(string[] args)

        {

 

            Hashtable HT = new Hashtable();

            HT.Add("CShub""cshub.somee.com");

            HT.Add("GoogleSays""jaiswalabhishek.blogspot.in");

            HT.Add("Picmaniac""picmaniac.brinkster.net");  

 

 

           // Console.WriteLine("Address for website {0} is {1}  ", "GoogleSays", HT["GoogleSays"]);

            Console.WriteLine("Total websites of abhishek jaiswal are {0}", HT.Count);

 

            Console.ReadLine();

        }

     }

}



Remove Operation | Hash Table

A Remove operation is used for removing data entries from your hash table. This is simply performed using:

HT.Remove("GoogleSays");

Example | Remove

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

 

namespace Hello_Word

{

    class Program

    {

        static void Main(string[] args)

        {

 

            Hashtable HT = new Hashtable();

            HT.Add("CShub""cshub.somee.com");

            HT.Add("GoogleSays""jaiswalabhishek.blogspot.in");

            HT.Add("Picmaniac""picmaniac.brinkster.net");

 

            HT.Remove("GoogleSays");

            if (HT.ContainsKey("GoogleSays"))

            {

                Console.WriteLine("Address for website {0} is {1}  ""GoogleSays", HT["GoogleSays"]);

                // Console.WriteLine("Total websites of abhishek jaiswal are {0}", HT.Count);

            }

 

            Console.ReadLine();

        }

     }

}