Open In App

C# | Search in a SortedList object

Last Updated : 11 Oct, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

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.ContainsKey(Object) method is used to check whether a SortedList object contains a specific key or not.

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 bool ContainsKey (object key);

Here, key is the key to locate in the SortedList object.

Return Value: This method will return True if the SortedList object contains an element with the specified key otherwise it returns False.

Exceptions:

  • ArgumentNullException : If the key is null.
  • InvalidOperationException : If the comparer throws an exception.

Below given are some examples to understand the implementation in a better way:

Example 1:




// C# code to check if a SortedList
// object contains a specific key
using 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("h", "Hello");
        mySortedList.Add("g", "Geeks");
        mySortedList.Add("f", "For");
        mySortedList.Add("n", "Noida");
  
        // Checking if a SortedList object
        // contains a specific key
        Console.WriteLine(mySortedList.ContainsKey("g"));
    }
}


Output:

True

Example 2:




// C# code to check if a SortedList
// object contains a specific key
using 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("h", "Hello");
        mySortedList.Add("g", "Geeks");
        mySortedList.Add("f", "For");
        mySortedList.Add("n", "Noida");
  
        // Checking if a SortedList object
        // contains a specific key
        // It should throw ArgumentNullException
        // as the Key can not be null
        Console.WriteLine(mySortedList.ContainsKey(null));
    }
}


Error:

Unhandled Exception:
System.ArgumentNullException: Key cannot be null.
Parameter name: key

Note: This method uses a binary search algorithm, therefore, this method is an O(log n) operation, where n is Count.

Reference:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads