C# | Insert into OrderedDictionary with key and value at specified index - GeeksforGeeks

01 Feb, 2019
OrderedDictionary.Insert(Int32, Object, Object) method is used to insert a new entry into the OrderedDictionary collection with the specified key and value at the specified index.
Syntax:
public void Insert (int index, object key, object value);

Parameters:
index : It is the zero-based index at which the element should be inserted.key : It is the key of the entry to add.value : It is the value of the entry to add. The value can be null.
Exceptions:
NotSupportedException : If the OrderedDictionary collection is read-only.
ArgumentOutOfRangeException : If the index is out of range.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to insert entry into// OrderedDictionary with key and// value at the specified indexusing System;using System.Collections;using System.Collections.Specialized;  class GFG {      // Driver method    public static void Main()    {          // Creating a orderedDictionary named myDict        OrderedDictionary myDict = new OrderedDictionary();          // Adding key and value in myDict        myDict.Add("key1", "value1");        myDict.Add("key2", "value2");        myDict.Add("key3", "value3");        myDict.Add("key4", "value4");        myDict.Add("key5", "value5");          // Displaying the number of element initially        Console.WriteLine("Number of elements are : "                                      + myDict.Count);          // Displaying the elements in myDict        foreach(DictionaryEntry de in myDict)            Console.WriteLine(de.Key + " -- " + de.Value);          // Inserting entry into OrderedDictionary        // with key and value at the specified index        myDict.Insert(2, "Geeks", "Noida");          // Displaying the number of element initially        Console.WriteLine("Number of elements are : "                                       + myDict.Count);          // Displaying the elements in myDict        foreach(DictionaryEntry de in myDict)            Console.WriteLine(de.Key + " -- " + de.Value);    }}
Output:
Number of elements are : 5
key1 -- value1
key2 -- value2
key3 -- value3
key4 -- value4
key5 -- value5
Number of elements are : 6
key1 -- value1
key2 -- value2
Geeks -- Noida
key3 -- value3
key4 -- value4
key5 -- value5

Example 2:
// C# code to insert entry into// OrderedDictionary with key and// value at the specified indexusing System;using System.Collections;using System.Collections.Specialized;  class GFG {      // Driver method    public static void Main()    {          // Creating a orderedDictionary named myDict        OrderedDictionary myDict = new OrderedDictionary();          // Adding key and value in myDict        myDict.Add("A", "Apple");        myDict.Add("B", "Banana");        myDict.Add("C", "Cat");        myDict.Add("D", "Dog");          // Displaying the number of element initially        Console.WriteLine("Number of elements are : "                                       + myDict.Count);          // Displaying the elements in myDict        foreach(DictionaryEntry de in myDict)            Console.WriteLine(de.Key + " -- " + de.Value);          // Inserting entry into OrderedDictionary        // with key and value at the specified index        // This should raise "ArgumentOutOfRangeException"        // as index is out of range        myDict.Insert(10, "E", "Elephant");          // Displaying the number of element initially        Console.WriteLine("Number of elements are : "                                       + myDict.Count);          // Displaying the elements in myDict        foreach(DictionaryEntry de in myDict)            Console.WriteLine(de.Key + " -- " + de.Value);    }}
Runtime Error:
Unhandled Exception:System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.Parameter name: index
Note:
If the index parameter is equal to the number of entries in the OrderedDictionary collection, the key and value parameters are appended to the end of the collection.
Entries that follow the insertion point move down to accommodate the new entry and the indexes of the moved entries are also updated.
Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.specialized.ordereddictionary.insert?view=netframework-4.7.2
CSharp-Collections-Namespace
CSharp-method
CSharp-Specialized-Namespace
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Extension Method in C#
HashSet in C# with Examples
Top 50 C# Interview Questions & Answers
C# | How to insert an element in an Array?
C# | Inheritance
C# | List Class
Partial Classes in C#
Convert String to Character Array in C#
Lambda Expressions in C#
Difference between Hashtable and Dictionary in C#