如何在 C# 中使用指定鍵從雜湊表集合獲取值
雜湊表是鍵值對的集合。我們可以使用迭代器訪問鍵值對。我們也可以訪問集合中雜湊表的鍵。類似地,我們也可以訪問雜湊表中的值。給定一個雜湊表,也可以訪問指定鍵的值或指定值的匹配鍵。
讓我們討論一下,給定一個鍵,我們如何訪問雜湊表集合中的值。
如何使用指定鍵從雜湊表集合獲取值?
在這裡,當給定鍵時,我們必須從雜湊表的鍵值對中獲取值。
考慮以下雜湊表。
{“US", "New York"}
{"FR", "Paris"}
{"UK", "London"}
{"IN", "Mumbai"}
{"GER", "Berlin"}
在這裡,讓我們假設我們必須查詢鍵“UK”的值。因此,我們必須遍歷雜湊表以找出雜湊表是否包含**鍵 = UK**。一旦找到鍵 =“UK”,我們就可以將其對應的值訪問為 hashtable[key]。
示例
下面顯示了執行上述操作的程式:
using System;
using System.Collections;
class MyHashTable {
// Main Method
static public void Main() {
// Create a hashtable instance
Hashtable Citytable = new Hashtable();
// Adding key/value pair in the hashtable using Add() method
Citytable.Add("US", "New York");
Citytable.Add("FR", "Paris");
Citytable.Add("UK", "London");
Citytable.Add("IN", "Mumbai");
Citytable.Add("GER", "Berlin");
String key;
Console.WriteLine("Enter the key whose value is to be printed:");
key = Console.ReadLine();
if(key != ""){
if(Citytable.Contains(key) == true){
string keyval = (string)Citytable[key];
Console.WriteLine("The value of key {0} = {1}", key,keyval);
}
else
Console.WriteLine ("Value for the key= {0} does not exist", key);
}
Console.ReadKey();
}
}
在上面的程式中,我們定義了一個雜湊表。然後使用者輸入要獲取其值的鍵。一旦鍵作為輸入讀取,我們首先確定鍵是否為空或空字串。這是因為雜湊表鍵不能為 null。因此,如果使用者輸入空值,我們將 simply not proceed with finding the value.
因此,如果鍵不為空,我們檢查雜湊表是否包含指定的鍵。為此,我們使用 C# 中的雜湊表集合方法 **Contains()**,如果鍵存在於雜湊表中,則返回 true;如果鍵不存在,則返回 false。
如果 **Contains()** 方法返回 true,那麼我們只需訪問該特定鍵的值。
string keyval = (string)Citytable[key];
然後將此值顯示給使用者。
輸出
Enter the key whose value is to be printed: FR The value of key FR = Paris
在此輸出中,使用者執行了程式並將鍵值輸入為 FR。由於此鍵已存在於雜湊表中,因此成功返回該鍵的值。
現在如果我們輸入雜湊表中不存在的鍵值呢?
讓我們再次執行程式。現在我們的雜湊表中沒有加拿大國家的鍵。讓我們輸入 CAN 作為加拿大的鍵。輸出如下所示。
輸出
Enter the key whose value is to be printed: CAN Value for the key= CAN do not exist
在這裡,由於雜湊表不包含 **鍵 = CAN**,程式返回一條訊息,指出該值不存在。
透過這種方式,我們可以開發一個互動式程式來查詢雜湊表集合中指定鍵的值。
讓我們再舉一個例子,使用雜湊表查詢給定鍵的值。
在這裡,我們將考慮以下包含數字及其相應數字名稱的雜湊表。
{“1.1", "One point One"}
{"1.2", "One point Two"}
{"1.3", "One point Three"}
{"1.4", "One point Four"}
{"1.5", "One point Five"}
與前面的示例類似,在這裡,我們也將要求使用者輸入要查詢其值的鍵,然後搜尋雜湊表中指定的鍵並顯示其值。
示例 2
下面是執行相同操作的程式:
using System;
using System.Collections;
class MyHashTable {
// Main Method
static public void Main() {
// Create a hashtable instance
Hashtable Numbernames = new Hashtable();
// Adding key/value pair in the hashtable using Add() method
Numbernames.Add("1.1", "One point One");
Numbernames.Add("1.2", "One point Two");
Numbernames.Add("1.3", "One point Three");
Numbernames.Add("1.4", "One point Four");
Numbernames.Add("1.5", "One point Five");
String key = "1.4";
if(key != ""){
if(Numbernames.Contains(key) == true){
string keyval = (string)Numbernames[key];
if(keyval != "")
Console.WriteLine("The value of key {0} = {1}", key,keyval);
else
Console.WriteLine("The value for key = {0} does not exist", key);
}
else
Console.WriteLine ("The key= {0} does not exist in the NumberNames hashtable", key);
}
Console.ReadKey();
}
}
該程式與前面的示例相同,只是雜湊表不同,並且我們指定了一個額外的條件來檢查空值。這是因為可能會發生這種情況:指定的鍵可能存在於雜湊表中,但其對應的值可能為空。其次,我們在這個程式中沒有讀取使用者輸入,而是直接使用了鍵 =“1.4”,我們打印出這個鍵的值。因此,我們在本程式中引入了另一個檢查。因此,本程式現在檢查:
如果指定的鍵為空
如果鍵不為空,程式檢查雜湊表是否包含該鍵。
如果雜湊表包含該鍵,則它將檢索該鍵的值。如果值不為空,則程式將顯示該值。
如果值為空,則顯示相應的訊息。
輸出
The value of key 1.4 = One point Four
當我們指定雜湊表中存在的正確鍵時,將生成此輸出。
在本文中,我們瞭解瞭如何根據鍵從雜湊表集合獲取值。我們還看到了幾個程式設計示例以及不同的輸出以闡明概念。在接下來的文章中,我們將繼續討論雜湊表主題。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP