C# | Insert into OrderedDictionary with key and value at specified index
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, "Beginner" , "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 Beginner -- 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:
- https://docs.microsoft.com/en-us/dotnet/api/system.collections.specialized.ordereddictionary.insert?view=netframework-4.7.2
Contact Us