C# | Remove the element with the specified key from a SortedList - GeeksforGeeks

11 Oct, 2018
SortedList class is a collection of (key, value) pairs which are sorted according to keys. Those pairs can be accessible by key and as well as by index(zero-based indexing). This comes under System.Collections namespace. SortedList.Remove(Object) method is used to remove the element with the specified key from a SortedList object.
Properties:
A SortedList element can be accessed by its key or by its index.
A SortedList object internally maintains two arrays to store the elements of the list, i.e, one array for the keys and another array for the associated values.
A key cannot be null, but a value can be.
The capacity of a SortedList object is the number of elements the SortedList can hold.
A SortedList does not allow duplicate keys.
Operations on a SortedList object tend to be slower than operations on a Hashtable object because of the sorting.
Elements in this collection can be accessed using an integer index. Indexes in this collection are zero-based.
Syntax :
public virtual void Remove (object key);

Here, key is the key of the element to remove.
Exceptions:
NotSupportedException : If the SortedList object is read-only or the SortedList has a fixed size.
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 element// with the specified key from a SortedListusing System;using System.Collections;  class GFG {      // Driver code    public static void Main()    {          // Creating an SortedList        SortedList mySortedList = new SortedList();          // Adding elements to SortedList        mySortedList.Add("IN", "INDIA");        mySortedList.Add("NY", "NEW-YORK");        mySortedList.Add("UK", "UNITED KINGDOM");        mySortedList.Add("GER", "GERMANY");        mySortedList.Add("CH", "CHINA");          // Displaying elements in SortedList        foreach (string mykey in mySortedList.Keys)            Console.WriteLine("Key = " + mykey);          foreach (string myvalue in mySortedList.Values)            Console.WriteLine("Key = " + myvalue);          // Removing element having key as "UK"        Console.WriteLine("Removing element having key as UK");          mySortedList.Remove("UK");          // Displaying elements in SortedList        foreach (string mykey in mySortedList.Keys)            Console.WriteLine("Key = " + mykey);          foreach (string myvalue in mySortedList.Values)            Console.WriteLine("Key = " + myvalue);    }}
Key = CH
Key = GER
Key = IN
Key = NY
Key = UK
Key = CHINA
Key = GERMANY
Key = INDIA
Key = NEW-YORK
Key = UNITED KINGDOM
Removing element having key as UK
Key = CH
Key = GER
Key = IN
Key = NY
Key = CHINA
Key = GERMANY
Key = INDIA
Key = NEW-YORK

Example 2:
// C# code to remove the element// with the specified key from a SortedListusing System;using System.Collections;using System.Collections.Generic;  class GFG {      // Driver code    public static void Main()    {          // Creating an SortedList        SortedList mySortedList = new SortedList();          // Adding elements to SortedList        mySortedList.Add("IN", "INDIA");        mySortedList.Add("NY", "NEW-YORK");        mySortedList.Add("UK", "UNITED KINGDOM");        mySortedList.Add("GER", "GERMANY");        mySortedList.Add("CH", "CHINA");          // Displaying elements in SortedList        foreach (string mykey in mySortedList.Keys)            Console.WriteLine("Key = " + mykey);          foreach (string myvalue in mySortedList.Values)            Console.WriteLine("Key = " + myvalue);          // Removing element having key as null        Console.WriteLine("Removing element having key as null");          // It should raise ArgumentNullException        // as key can not be null        mySortedList.Remove(null);          // Displaying elements in SortedList        foreach (string mykey in mySortedList.Keys)            Console.WriteLine("Key = " + mykey);          foreach (string myvalue in mySortedList.Values)            Console.WriteLine("Key = " + myvalue);    }}
Error:
Unhandled Exception:System.ArgumentNullException: Key cannot be null.Parameter name: key
Note:
If the SortedList object does not contain an element with the specified key, the SortedList remains unchanged. No exception is thrown.
This method is an O(n) operation, where n is Count.
Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.sortedlist.remove?view=netframework-4.7.2
CSharp-Collections-Namespace
CSharp-Collections-SortedList
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
C# | Method Overriding
C# Dictionary with examples
Difference between Ref and Out keywords in C#
C# | Delegates
Top 50 C# Interview Questions & Answers
Introduction to .NET Framework
C# | Constructors
Extension Method in C#
C# | Class and Object
C# | Abstract Classes