Learnerslesson
   JAVA   
  SPRING  
  SPRINGBOOT  
 HIBERNATE 
  HADOOP  
   HIVE   
   ALGORITHMS   
   PYTHON   
   GO   
   KOTLIN   
   C#   
   RUBY   
   C++   




C# - INSERT IN DICTIONARY


How to insert a new Item in a Dictionary?


Let us say, we have a Dictionary that contains,

5, Is a Number
John, Is a Name
C#, Is a Language

As Key and Value pair.


Now, let us say, we want to insert a new entry,

Rose, Is a Flower

Where Rose is the Key and Is a Flower is its corresponding Value.


Let us see in the below example.


Example :



using System.Collections.Generic;
    
public class MyApplication
{
    public static void Main(string[] args)
    {
        Dictionary<object, string> x = new Dictionary<object, string>() 
        {
	        { 5, "Is a Number" }, 
	        { "John", "Is a Name" }, 
	        { "C#", "Is a Language"}
        };
        
        x["Rose"] = "Is a Flower";
    
        foreach (KeyValuePair<object, string> i in x)  
        {  
            System.Console.WriteLine("The key is : "+i.Key+" and the value is : "+i.Value);  
        }
    }    
}


Output :



  The key is : 5 and the value is : Is a Number
  The key is : John and the value is : Is a Name
  The key is : C# and the value is : Is a Language
  The key is : Rose and the value is : Is a Flower

So, in the above code we have created a Dictionary using braces {} and Key and Value pairs.


Dictionary<object, string> x = new Dictionary<object, string>()
{
	{ 5, "Is a Number" },
	{ "John", "Is a Name" },
	{ "C#", "Is a Language"}
};

And initialised to the variable x.

C_Sharp

Now, we are supposed to add a new entry to the Dictionary. Where the Key would be Rose and the Value Is a Flower.


So, we have used the below way to add it.


x["Rose"] = "Is a Flower";
C_Sharp


And the entry is added to the Dictionary.

C_Sharp

And we get the below output,

Output :



  The key is : 5 and the value is : Is a Number
  The key is : John and the value is : Is a Name
  The key is : C# and the value is : Is a Language
  The key is : Rose and the value is : Is a Flower

Duplicate Keys are not allowed in Dictionary


Let us say, we have a Dictionary that contains,

5, Is a Number
John, Is a Name
C#, Is a Language

As Key and Value pair.


Now, let us say, we want to insert a new entry,

John, Is an English Name

Where John is the Key and Is an English Name is its corresponding Value.


Let us see in the below example.


Example :



using System.Collections.Generic;
    
public class MyApplication
{
    public static void Main(string[] args)
    {
        Dictionary<object, string> x = new Dictionary<object, string>() 
        {
	        { 5, "Is a Number" }, 
	        { "John", "Is a Name" }, 
	        { "C#", "Is a Language"}
        };
        
        x["John"] = "Is an English Name";
    
        foreach (KeyValuePair<object, string> i in x)  
        {  
            System.Console.WriteLine("The key is : "+i.Key+" and the value is : "+i.Value);  
        }
    }    
}


Output :



  The key is : 5 and the value is : Is a Number
  The key is : John and the value is : Is an English Name
  The key is : C# and the value is : Is a Language

So, for the Key, John the initial value was Is a Name.


Dictionary<object, string> x = new Dictionary<object, string>()
{
	{ 5, "Is a Number" },
	{ "John", "Is a Name" },
	{ "C#", "Is a Language"}
};

And we wanted to add a new entry with the Key as John and the Value as Is an English Name.


x["John"] = "Is an English Name";

But if we see the output.

Output :



  The key is : 5 and the value is : Is a Number
  The key is : John and the value is : Is an English Name
  The key is : C# and the value is : Is a Language

We can see the Key, John is updated with the Value, Is an English Name.


That's because duplicate Keys are not allowed in Dictionary. The corresponding value for that Key will get updated with the new Value.


Note : Just remember, only duplicate 'Keys' are not allowed in a 'Dictionary'. However, you can have duplicate 'Values'.