Insert into OrderedDictionary with key and value at specified index in C#

The OrderedDictionary class in C# provides an Insert() method to add key-value pairs at a specific index position. Unlike regular dictionaries, OrderedDictionary maintains the insertion order of elements and allows indexed access.

Syntax

Following is the syntax for inserting into an OrderedDictionary at a specified index −

orderedDict.Insert(index, key, value);

Parameters

  • index − The zero-based index at which to insert the key-value pair
  • key − The key of the element to insert
  • value − The value of the element to insert

Using Insert() Method

The following example demonstrates inserting elements at specific positions in an OrderedDictionary −

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main(){
      OrderedDictionary dict = new OrderedDictionary();
      dict.Add("A", "Books");
      dict.Add("B", "Electronics");
      dict.Add("C", "Smart Wearables");
      dict.Add("D", "Pet Supplies");
      
      Console.WriteLine("OrderedDictionary elements...");
      foreach(DictionaryEntry d in dict){
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Count of elements in OrderedDictionary = " + dict.Count);
      
      dict.Insert(4, "E", "Clothing");
      dict.Insert(5, "F", "Footwear");
      
      Console.WriteLine("OrderedDictionary elements...UPDATED");
      foreach(DictionaryEntry d in dict){
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Count of elements in OrderedDictionary (UPDATED) = " + dict.Count);
      
      dict.Remove("E");
      Console.WriteLine("Count of elements in OrderedDictionary (Updated)= " + dict.Count);
   }
}

The output of the above code is −

OrderedDictionary elements...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
Count of elements in OrderedDictionary = 4
OrderedDictionary elements...UPDATED
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear
Count of elements in OrderedDictionary (UPDATED) = 6
Count of elements in OrderedDictionary (Updated)= 5

Inserting at Middle Index

The following example shows inserting an element at a middle position, which shifts subsequent elements −

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main(){
      OrderedDictionary dict1 = new OrderedDictionary();
      dict1.Add("A", "Books");
      dict1.Add("B", "Electronics");
      dict1.Add("C", "Smart Wearables");
      dict1.Add("D", "Pet Supplies");
      dict1.Add("E", "Clothing");
      dict1.Add("F", "Footwear");
      
      Console.WriteLine("OrderedDictionary1 elements...");
      foreach(DictionaryEntry d in dict1){
         Console.WriteLine(d.Key + " " + d.Value);
      }
      
      OrderedDictionary dict2 = new OrderedDictionary();
      dict2.Add("1", "One");
      dict2.Add("2", "Two");
      dict2.Add("3", "Three");
      dict2.Add("4", "Four");
      dict2.Add("5", "Five");
      dict2.Add("6", "Six");
      
      Console.WriteLine("\nOrderedDictionary2 elements...");
      foreach(DictionaryEntry d in dict2){
         Console.WriteLine(d.Key + " " + d.Value);
      }
      
      Console.WriteLine("\nIs OrderedDictionary1 equal to OrderedDictionary2? = " + (dict1.Equals(dict2)));
      
      dict2.Insert(3, "10", "Ten");
      
      Console.WriteLine("\nOrderedDictionary2 elements...UPDATED");
      foreach(DictionaryEntry d in dict2){
         Console.WriteLine(d.Key + " " + d.Value);
      }
      
      Console.WriteLine("\nIs OrderedDictionary1 equal to OrderedDictionary2? = " + (dict1.Equals(dict2)));
   }
}

The output of the above code is −

OrderedDictionary1 elements...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear

OrderedDictionary2 elements...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six

Is OrderedDictionary1 equal to OrderedDictionary2? = False

OrderedDictionary2 elements...UPDATED
1 One
2 Two
3 Three
10 Ten
4 Four
5 Five
6 Six

Is OrderedDictionary1 equal to OrderedDictionary2? = False

How It Works

When you use Insert() method:

  • Elements at the specified index and beyond are shifted to higher indices
  • The new key-value pair is inserted at the exact index position
  • The order of insertion is preserved for all elements
  • If the index equals the count, the element is appended at the end

Conclusion

The Insert() method of OrderedDictionary allows precise control over element positioning by inserting key-value pairs at specific indices. This preserves insertion order while enabling indexed access, making it useful when both dictionary functionality and ordered collections are needed.

Updated on: 2026-03-17T07:04:36+05:30

403 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements