The hashtable is an organized collection of key-value pairs wherein the keys are arranged as per the hash code of the key calculated using the hash function. While the keys should be non-null and unique in a hashtable, the values can be null and duplicate.
Elements in the hash table are accessed through keys. In C#, the class "Hashtable" represents a collection of hash tables. This class provides various properties and methods that we can use to perform operations and access data in the hash table.
In this article, we will see how to determine whether a specific value exists in a hash table.
To check whether a certain value exists in the hash table, we can use the "containsValue" method provided by the Hashtable class. This method returns a Boolean value indicating whether the specified value exists in the hash table.
Let’s have a look at the method first before proceeding with programming examples.
Syntax − public virtual bool ContainsValue (object value);
Description − used to find if the Hashtable contains a specified value.
Parameters - The value (object) to be located in the hash table. Can be null.
Return value − Boolean: true=> The hash table contains elements with the specified value.
False=> The hash table does not contain an element with the specified value.
Namespace - System.Collections
Let’s now see few programming examples where we check if the specified value is present in the hashtable or not.
The Chinese translation ofThe first program to check if a value exists in the hash table is shown below.
using System; using System.Collections; class Program { public static void Main(){ // Create a Hashtable Hashtable langCodes = new Hashtable(); // Add elements to the Hashtable langCodes.Add("C++", "CPlusPlus"); langCodes.Add("C#", "CSharp"); langCodes.Add("Java", "Java"); langCodes.Add("PL", "Perl"); // use ContainsValue method to check if the HashTable contains the //required Value or not. if (langCodes.ContainsValue("CSharp")) Console.WriteLine("langCodes hashtable contain the Value = CSharp"); else Console.WriteLine("langCodes hashtable doesn't contain the Value = CSharp"); } }
The above program declares a langCodes hash table containing language codes and language names as keys and values. Next, we have an "if" structure that checks if the value "CSharp" exists in the hash table. If present, it will display the message accordingly.
The output of the program is shown below.
langCodes hashtable contain the Value = CSharp
Since value = CSharp exists in the hashtable, the program will display the above message.
Now change the argument of the ContainsValue method to “C#” i.e. the key instead of value.
if (langCodes.ContainsValue("C#"))
Now execute the above program with this change.
In this case, since the value "C#" does not exist in the hash table, the program will return the appropriate message. Therefore, we will get −
langCodes hashtable doesn't contain the Value = CSharp
Now let’s look at the following example.
using System; using System.Collections; class Program { public static void Main() { // Create a Hashtable Hashtable NumberNames = new Hashtable(); // Add elements to the Hashtable NumberNames.Add(1, "One"); NumberNames.Add(3, "Three"); NumberNames.Add(5, "Five"); NumberNames.Add(7, "Seven"); // use ContainsValue method to check if the HashTable contains the //required Value or not. if (NumberNames.ContainsValue("Two")) Console.WriteLine("NumberNames hashtable contain the Value = Two"); else Console.WriteLine("NumberNames hashtable doesn't contain the Value = Two"); if (NumberNames.ContainsValue("Five")) Console.WriteLine("NumberNames hashtable contain the Value = Five"); else Console.WriteLine("NumberNames hashtable doesn't contain the Value = Five"); } }
This program has a table named "NumberNames", with numbers as keys and corresponding names as values. Here, we first check if the hash table contains the value = Two using the "containsKey()" method. Next, we check the value = "Five" using the containsKey() method.
The output for the program is shown below.
NumberNames hashtable doesn't contain the Value = Two NumberNames hashtable contain the Value = Five
As can be seen from the hash table defined in the program, it does not contain the value = Two, but it does contain the value = Five. Therefore, the program appropriately gives the corresponding message.
Thus using the “containsKey()” method of the Hashtable class in C#, we can determine if an element with a specific value is present in the hashtable or not. Depending on whether the value is present or not, we can output the appropriate results, or in the case of a complex program, proceed with the appropriate code.
The method "containsKey()" becomes very useful when we need to check whether a specified value exists in the hashtable and take appropriate action.
The above is the detailed content of C# program to check if value exists in hash table. For more information, please follow other related articles on the PHP Chinese website!