Pages

Saturday, July 7, 2012

How to use C# HashTable Class


Hashtable in C# represents a collection of key/value pairs which maps keys to value. Any non-null object can be used as a key but a value can. We can retrieve items from hashTable to provide the key . Both keys and values are Objects.
The commonly used functions in Hashtable are :
  Add  : To add a pair of value in HashTable
  ContainsKey : Check if a specified key exist or not
  ContainsValue : Check the specified Value exist in HashTable
Remove : Remove the specified Key and corresponding Value

Add : To add a pair of value in HashTable
  Syntax : HashTable.Add(Key,Value)
  Key : The Key value
  Value : The value of corresponding key
  Hashtable ht;
ht.Add("1", "Sunday");

ContainsKey : Check if a specified key exist or not
  Synatx : bool HashTable.ContainsKey(key)
  Key  : The Key value for search in HahTable
  Returns : return true if item exist else false
ht.Contains("1");

ContainsValue : Check the specified Value exist in HashTable
  Synatx : bool HashTable.ContainsValue(Value)
  Value : Search the specified Value in HashTable
  Returns : return true if item exist else false
ht.ContainsValue("Sunday")

Remove : Remove the specified Key and corresponding Value
  Syntax : HashTable.Remove(Key)
  Key : The key of the element to remove
ht.Remove("1");

The following source code shows some important operations in a HashTable
using System;
using System.Collections;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Hashtable weeks = new Hashtable();
            weeks.Add("1", "SunDay");
            weeks.Add("2", "MonDay");
            weeks.Add("3", "TueDay");
            weeks.Add("4", "WedDay");
            weeks.Add("5", "ThuDay");
            weeks.Add("6", "FriDay");
            weeks.Add("7", "SatDay");
            //Display a single Item 

            MessageBox.Show(weeks["5"].ToString ());
            //Search an Item 
            if (weeks.ContainsValue("TueDay"))
            {
                MessageBox.Show("Find");
            }
            else
            {
                MessageBox.Show("Not find");
            }
            //remove an Item 
            weeks.Remove("3");
            //Display all key value pairs
            foreach (DictionaryEntry day in weeks )
            {
                MessageBox.Show (day.Key + "   -   " + day.Value );
            }
        }
    }
}

When you execute this C# program it will add seven entries in the hashtable. The first message it will display the item 5. Then it check the value "TueDay" is existing or not . Next it remove the third item from HashTable. Finaly it displays all items exist in the HashTable. 

Reference:
http://csharp.net-informations.com/collection/csharp-hashtable.htm

No comments:

Post a Comment