In this article, we will discuss the "HybridDictionary.Contains(Object)" method in C# with its syntax, parameters, and examples. But before discussing the "HybridDictionary.Contains(Object)" method, we must know about the HybridDictionary Class in C#.
What is the HybridDictionary Class?
The HybridDictionary class should be used when the amount of elements in a dictionary is uncertain. It uses hash tables and linked lists as data structures. In order to implement IDictionary, it uses a Hashtable for big collections and a ListDictionary for smaller collections.
Properties of the HybridDictionary Class
Several properties of the HybridDictionary class in C# are as follows:
- This class is suggested in situations when a dictionary's element c ount is undetermined.
- The collection is kept in a hashtable to avoid the overhead of copying elements from the ListDictionary to a hashtable if its initial size exceeds the optimal size for a ListDictionary.
- A value can be null, but a key cannot be null.
What is the HybridDictionary.Contains(Object) method?
The C# HybridDictionary.Contains(Object) method is used to determine whether a given key is present in the HybridDictionary. It accepts an object parameter representing the key to be checked and returns a boolean value indicating whether the key is present in the dictionary.
Exception: If the key is null, the method raises ArgumentNullException .
Syntax:
It has the following syntax:
public bool Contains (object key);
a) Modifiers of Visibility
public: It indicates that access to the method is possible from outside the class in which it is declared. It can be called from anywhere.
b) Return Type
bool: It indicates the kind of value the method returns. In this case, the method Contains returns a boolean result (true or false) denoting the existence or absence of the specified key in the collection.
c) Method Name
Contains: It is the method's name . It implies that the method is applied to determine whether a certain key is present in the collection.
d) Parameters
(object key): It indicates the parameter that is accepted by the method. It expects an object parameter called a key, which represents the collection's key that has to be checked. The object type allows for flexibility in the type of key that can be passed to the method.
Performance:
- Contains method performance is dependent upon the number of elements kept in the dictionary.
- The Contains method offers constant-time performance for hash-based storage because its time complexity is O(1) .
- The time complexity for list-based storage is O(n) , where 'n' is the number of dictionary elements.
- In order to verify if a certain key exists before accessing or modifying its associated value, developers frequently utilize the Contains method.
- This method is helpful for avoiding exceptions that may occur when trying to access a key that doesn't exist in the dictionary.
Uses of HybridDictionary.Contains Method:
Example 1:
Let us take an example to illustrate the HybridDictionary.Contains(Object) method in C#.
using System;
using System.Collections;
using System.Collections.Specialized;
class C# Tutorial
{
static void Main(string[] args)
{
// Creating a new HybridDictionary named 'my_Dictionary'.
HybridDictionary my_Dictionary = new HybridDictionary();
// Add some key-value pairs to the my_Dictionary
my_Dictionary.Add(1, "Mogili");
my_Dictionary.Add(2, "Mahesh");
my_Dictionary.Add(3, "Rajin");
my_Dictionary.Add(4, "Pavan");
// Check if the my_Dictionary contains a specific key
bool containsKey = my_Dictionary.Contains(4);
foreach(DictionaryEntry q in my_Dictionary)
{
Console.WriteLine(q.Key + " " + q.Value);
}
// Displaying the result
Console.WriteLine($"HybridDictionary contains key '4': {containsKey}");
// Check if the my_Dictionary contains a key that doesn't exist
bool non_Key = my_Dictionary.Contains("Apple");
// Displaying the result
Console.WriteLine($"HybridDictionary contains key 'Apple': {non_Key}");
}
}
Output:
1 Mogili
2 Mahesh
3 Rajin
4 Pavan
HybridDictionary contains key '4': True
HybridDictionary contains key 'Apple': False
Explanation:
- The code demonstrates how to use a HybridDictionary , a collection that combines the speed and versatility of a hashtable with the flexibility of a list dictionary.
- It adds the dictionary with key-value pairs and checks keys.
- It iterates across the dictionary to print every key-value pair.
- The key-value pairs in the my_Dictionary , and the presence of the key "Apple" (false in this example) and the key 4 (true in this example) in the HybridDictionary are all displayed in the output.
Example 2:
Let us take another example to illustrate the HybridDictionary.Contains(Object) method in C#.
using System;
using System.Collections;
using System.Collections.Specialized;
class C# Tutorial
{
static void Main(string[] args)
{
// Creating a new HybridDictionary named 'my_Dictionary'.
HybridDictionary my_Dictionary = new HybridDictionary();
// Add some key-value pairs to the my_Dictionary
my_Dictionary.Add(1, "Mogili");
my_Dictionary.Add(2, "Mahesh");
my_Dictionary.Add(3, "Rajin");
my_Dictionary.Add(4, "Pavan");
// Check if the my_Dictionary contains a specific key
bool containsKey = my_Dictionary.Contains(null);
foreach(DictionaryEntry q in my_Dictionary)
{
Console.WriteLine(q.Key + " " + q.Value);
}
// Displaying the result
Console.WriteLine($"HybridDictionary contains key '4': {containsKey}");
// Check if the my_Dictionary contains a key that doesn't exist
bool non_Key = my_Dictionary.Contains("Apple");
// Displaying the result
Console.WriteLine($"HybridDictionary contains key 'Apple': {non_Key}");
}
}
Output:
Unhandled Exception:
System.ArgumentNullException: Value cannot be null.
Explanation:
- In this example, the code demonstrates how to store key-value pairs using a HybridDictionary .
- It shows how to use the Contains method to determine whether the keys "Apple" and "null" exist.
- After that, the loop iterates across it to output every key-value pair in the dictionary.
- Due to potential ambiguities and issues, it's uncommon to use "null" because a key in dictionaries with retrieval and raises an exception called "ArgumentNullException" .
- After that, the presence of a null key in this example might be for demonstration purposes.