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 index using 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 index using 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: