Reader Level:
ARTICLE

Dictionary in C#

Posted by Mahesh Chand Articles | C# Language July 10, 2010
A Dictionary class represents a dictionary in C# that is used to represent a collection of keys and values pair of data. This article demonstrates how to use a dictionary in C#.
  • 3
  • 0
  • 175637

Introduction

A Dictionary class represents a dictionary in C# that is used to represent a collection of keys and values pair of data. This article demonstrates how to use a dictionary in C#.

Creating a Dictionary

The Dictionary class is a generic class and can store any data types. This class is defined in the System.Collections.Generic namespace. Before you use a Dictionary class in your code, you must import the System.Collections.Generic namespace using the following line.

using System.Collections.Generic;

The Dictionary class constructor takes two parameters (generic type), first for the type of the key and second for the type of the value. The following code snippet creates a Dictionary where keys are strings and values are short. 

Dictionary<stringInt16> AuthorList = new Dictionary<stringInt16>();

Add and Read Data


As other collection classes, the Dictionary class has Add, Remove, Clear and other collection methods. The Key and Value property are used to extract a key and a value from an item in a Dictionary.

 

The following code snippet creates a Dictionary, adds some data to it and reads data back. 

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Collections.Generic;

 

namespace DictionarySample

{

    class Program

    {

        static void Main(string[] args)

        {

           

            Dictionary<string, Int16> AuthorList = new Dictionary<string, Int16>();

 

            AuthorList.Add("Mahesh Chand", 35);

            AuthorList.Add("Mike Gold", 25);

            AuthorList.Add("Praveen Kumar", 29);

            AuthorList.Add("Raj Beniwal", 21);

            AuthorList.Add("Dinesh Beniwal", 84);

 

            // Read all data

            Console.WriteLine("Authors List");

 

            foreach( KeyValuePair<string, Int16> author in AuthorList )

            {

                Console.WriteLine("Key = {0}, Value = {1}",

                    author.Key, author.Value);

            }

 

            Console.ReadKey();

 

        }

    }

}

 


Download Free Book
Download this free E-book: Programming Dictionary in C#



Properties 


The Count property gets the number of key/value pairs in a Dictionary. The following code snippet display number of items in a dictionary. 

 Console.WriteLine("Count: {0}", AuthorList.Count);

The Item property gets and sets the value associated with the specified key. The following code snippet sets and gets an items value. 

 // Set Item value 
AuthorList["Mahesh Chand"] = 20;
// Get Item value 
Int16 age = Convert.ToInt16(AuthorList["Mahesh Chand"]);


The Keys property gets a collection containing the keys in the Dictionary. It returns an object of KeyCollection type. The following code snippet reads all keys in a Dictionary.  

 // Get and display keys 
Dictionary<string, Int16>.KeyCollection keys = AuthorList.Keys;
foreach (string key in keys)
{
    Console.WriteLine("Key: {0}", key);
}


The Values property gets a collection containing the values in the Dictionary. It returns an object of ValueCollection type. The following code snippet reads all values in a Dictionary.  

 // Get and display values 
Dictionary<string, Int16>.ValueCollection values = AuthorList.Values;
foreach (Int16 val in values)
{
    Console.WriteLine("Value: {0}", val);
}

Summary

In this article, we learned how to use a dictionary in C#.


Download Free Book
Download this free E-book: Programming Dictionary in C# 


 

COMMENT USING

Trending up