Check if ListDictionary contains a specific key in C#

The ListDictionary class in C# provides the Contains() method to check if a specific key exists in the collection. This method returns true if the key is found, otherwise false. ListDictionary is part of the System.Collections.Specialized namespace and is optimized for small collections.

Syntax

Following is the syntax for using the Contains() −

public bool Contains(object key);

Parameters

  • key − The object to locate in the ListDictionary.

Return Value

Returns true if the ListDictionary contains an element with the specified key; otherwise, false.

Using Contains() Method

Example 1

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      ListDictionary dict1 = new ListDictionary();
      dict1.Add("A", "Books");
      dict1.Add("B", "Electronics");
      dict1.Add("C", "Smart Wearables");
      dict1.Add("D", "Pet Supplies");
      dict1.Add("E", "Clothing");
      dict1.Add("F", "Footwear");
      
      Console.WriteLine("ListDictionary1 elements...");
      foreach(DictionaryEntry d in dict1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      
      ListDictionary dict2 = new ListDictionary();
      dict2.Add("1", "One");
      dict2.Add("2", "Two");
      dict2.Add("3", "Three");
      dict2.Add("4", "Four");
      dict2.Add("5", "Five");
      dict2.Add("6", "Six");
      
      Console.WriteLine("\nListDictionary2 key-value pairs...");
      IDictionaryEnumerator demoEnum = dict2.GetEnumerator();
      while (demoEnum.MoveNext())
         Console.WriteLine("Key = " + demoEnum.Key + ", Value = "+ demoEnum.Value);
      
      Console.WriteLine("Is the ListDictionary having fixed size? = "+dict2.IsFixedSize);
      Console.WriteLine("If ListDictionary read-only? = "+dict2.IsReadOnly);
      Console.WriteLine("Is ListDictionary synchronized = "+dict2.IsSynchronized);
      Console.WriteLine("The ListDictionary has the key 5? = "+dict2.Contains("5"));
   }
}

The output of the above code is −

ListDictionary1 elements...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear

ListDictionary2 key-value pairs...
Key = 1, Value = One
Key = 2, Value = Two
Key = 3, Value = Three
Key = 4, Value = Four
Key = 5, Value = Five
Key = 6, Value = Six
Is the ListDictionary having fixed size? = False
If ListDictionary read-only? = False
Is ListDictionary synchronized = False
The ListDictionary has the key 5? = True

Example 2

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      ListDictionary dict = new ListDictionary();
      dict.Add("1", "SUV");
      dict.Add("2", "Sedan");
      dict.Add("3", "Utility Vehicle");
      dict.Add("4", "Compact Car");
      dict.Add("5", "SUV");
      dict.Add("6", "Sedan");
      dict.Add("7", "Utility Vehicle");
      dict.Add("8", "Compact Car");
      dict.Add("9", "Crossover");
      dict.Add("10", "Electric Car");
      
      Console.WriteLine("ListDictionary elements...");
      foreach(DictionaryEntry d in dict) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      
      Console.WriteLine("\nIs the ListDictionary having fixed size? = "+dict.IsFixedSize);
      Console.WriteLine("If ListDictionary read-only? = "+dict.IsReadOnly);
      Console.WriteLine("Is ListDictionary synchronized = "+dict.IsSynchronized);
      Console.WriteLine("The ListDictionary has the key M? = "+dict.Contains("M"));
   }
}

The output of the above code is −

ListDictionary elements...
1 SUV
2 Sedan
3 Utility Vehicle
4 Compact Car
5 SUV
6 Sedan
7 Utility Vehicle
8 Compact Car
9 Crossover
10 Electric Car

Is the ListDictionary having fixed size? = False
If ListDictionary read-only? = False
Is ListDictionary synchronized = False
The ListDictionary has the key M? = False

Checking Multiple Keys

Example

using System;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      ListDictionary products = new ListDictionary();
      products.Add("P001", "Laptop");
      products.Add("P002", "Mouse");
      products.Add("P003", "Keyboard");
      products.Add("P004", "Monitor");
      
      string[] keysToCheck = {"P001", "P005", "P003", "P010"};
      
      Console.WriteLine("Checking for product keys...");
      foreach(string key in keysToCheck) {
         bool exists = products.Contains(key);
         Console.WriteLine("Key '{0}': {1}", key, exists ? "Found" : "Not Found");
      }
   }
}

The output of the above code is −

Checking for product keys...
Key 'P001': Found
Key 'P005': Not Found
Key 'P003': Found
Key 'P010': Not Found

Key Features

  • The Contains() method performs a case-sensitive search for string keys.

  • ListDictionary is optimized for collections with 10 or fewer elements.

  • The method has O(n) time complexity as it searches through the linked list sequentially.

  • Returns false if the key parameter is null.

Conclusion

The Contains() method in ListDictionary provides an efficient way to check for key existence in small collections. It returns a boolean value indicating whether the specified key is present, making it useful for conditional operations and data validation scenarios.

Updated on: 2026-03-17T07:04:36+05:30

172 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements