C# | Remove entry with specified key from OrderedDictionary
OrderedDictionary.Remove(Object) method is used to remove entry with the specified key from the OrderedDictionary collection.
Syntax:
public void Remove (object key);
Here, key is the key of the entry to remove.
Exceptions:
- NotSupportedException : If the OrderedDictionary collection is read-only.
- ArgumentNullException : If the key is null.
Below given are some examples to understand the implementation in a better way:
Example 1:
// C# code to remove the entry // with the specified key 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 with the specified // key from the OrderedDictionary myDict.Remove( "key2" ); // 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 key3 -- value3 key4 -- value4 key5 -- value5
Example 2:
// C# code to remove the entry // with the specified key 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 with the specified // key from the OrderedDictionary // This should raise "ArgumentNullException" // as the key is null myDict.Remove( null ); // 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.ArgumentNullException: Value cannot be null.
Parameter name: key
Note:
- The entries that follow the removed entry move up to occupy the vacated spot and the indexes of the entries that get moved are also updated.
- If the OrderedDictionary collection does not contain an entry with the specified key, the OrderedDictionary remains unchanged and no exception is thrown.
Reference:
- https://docs.microsoft.com/en-us/dotnet/api/system.collections.specialized.ordereddictionary.remove?view=netframework-4.7.2