Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
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.
