C# | Remove the entry at specified index from OrderedDictionary
OrderedDictionary.RemoveAt(Int32) method is used to remove the entry at the specified index from the OrderedDictionary collection.
Syntax:
public void RemoveAt (int index);
Here, index is the zero-based index of the entry to remove.
Exceptions:
- NotSupportedException : If the OrderedDictionary collection is read-only.
- ArgumentOutOfRangeException : If the index is less than zero OR index is equal to or greater than Count.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to remove the entry at // the specified index from the // OrderedDictionary 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); // Removing the entry at the specified // index from the OrderedDictionary myDict.RemoveAt(3); // 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 : 4 key1 -- value1 key2 -- value2 key3 -- value3 key5 -- value5
Example 2:
// C# code to remove the entry at // the specified index from the // OrderedDictionary 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); // Removing the entry at the specified // index from the OrderedDictionary // This should raise "ArgumentOutOfRangeException" // as index is less than 0 myDict.RemoveAt(-2); // 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: The entries that follow the removed entry move up to occupy the vacated spot and the indexes of the entries that move are also updated.
Reference:
- https://docs.microsoft.com/en-us/dotnet/api/system.collections.specialized.ordereddictionary.removeat?view=netframework-4.7.2
Contact Us