如何將雜湊錶轉換為字串?
C# 中的雜湊表集合是一個非泛型元素集合。雜湊表的每個元素都表示為鍵值對。雜湊表的鍵不為空且唯一。值可以重複和/或為空。
C# 系統的 Hashtable 類。集合介面是雜湊表集合的表示。此類提供各種建構函式、方法和屬性來操作雜湊表集合。
我們還可以將雜湊錶轉換為其他集合,如陣列、ArrayList 等,以及轉換為字串表示形式。
在本文中,讓我們討論如何將雜湊表集合轉換為字串。
如何將雜湊表項轉換為字串?
請注意,要將雜湊表項轉換為字串,雜湊表類沒有提供像 Java 這樣的直接方法。也沒有內建屬性可以進行轉換。因此,我們需要設計自己的方法將雜湊表元素轉換為字串表示形式。
為此,我們將必須遍歷雜湊表集合,然後將每個專案的鍵和值複製到字串中。我們可以在字串中放置一個分隔符來分隔每個鍵值項。
要使用 C# 實際程式設計這一點,我們使用 IDictionaryEnumerator 來迭代雜湊表中的每個專案。列舉器儲存雜湊表的每個專案(鍵和值)。然後,我們可以使用迴圈將每個鍵和值複製到字串中,如下所示。
IDictionaryEnumerator enumerator = phonetics.GetEnumerator(); while (enumerator.MoveNext()) { text += enumerator.Key + ", "; text += enumerator.Value + "
"; }
正如我們在上面的程式碼片段中看到的,在每個鍵值對複製到字串之後,我們插入一個分隔符“
”,以便將每個專案分隔開。
示例
下面顯示了將雜湊表項轉換為字串的 C# 完整程式。
using System; using System.Collections; class myHashTable { public static void Main() { // Create a Hashtable named phonetics Hashtable phonetics = new Hashtable(); // Add key/value pairs in phonetics phonetics.Add("A", "Apple"); phonetics.Add("B", "Banana"); phonetics.Add("C", "Cat"); phonetics.Add("D", "Dog"); phonetics.Add("E", "Elephant"); phonetics.Add("F", "Fish"); //print hahshtable collection Console.WriteLine("Hashtable items:"); foreach(DictionaryEntry entry in phonetics){ Console.WriteLine("{0} and {1} ", entry.Key, entry.Value); } string text = ""; IDictionaryEnumerator enumerator = phonetics.GetEnumerator(); while (enumerator.MoveNext()) { text += enumerator.Key + ", "; text += enumerator.Value + "
"; } Console.WriteLine("String value: {0}", text); } }
在此程式中,我們有一個從 A 到 F 的語音雜湊表。我們宣告一個字串變數“text”。然後,我們宣告一個 IDictioanaryEnumerator 來遍歷雜湊表。然後,使用此列舉器,我們使用“while”迴圈將雜湊表集合的內容複製到字串中。
輸出
該程式生成以下輸出。
Hashtable items: B and Banana C and Cat A and Apple F and Fish D and Dog E and Elephant String value: B, Banana C, Cat A, Apple F, FishD, Dog E, Elephant
在這裡,我們首先顯示了雜湊表集合的內容。接下來,我們顯示字串。我們可以看到字串值包含雜湊表的所有元素,並以“
”(換行符)分隔。
示例
讓我們實現另一個程式將雜湊錶轉換為字串。下面給出了完整的 C# 程式。
using System; using System.Collections; class myHashTable { public static void Main() { // Create a Hashtable named numberNames Hashtable numberNames = new Hashtable(); // Add key/value pairs in numberNames numberNames.Add("10", "Ten"); numberNames.Add("20", "Twenty"); numberNames.Add("30", "Thirty"); numberNames.Add("40", "Forty"); numberNames.Add("50", "Fifty"); numberNames.Add("60", "Sixty"); //print hahshtable collection Console.WriteLine("Hashtable items:"); foreach(DictionaryEntry entry in numberNames){ Console.WriteLine("{0} => {1} ", entry.Key, entry.Value); } string text = ""; IDictionaryEnumerator enumerator = numberNames.GetEnumerator(); while (enumerator.MoveNext()) { text += enumerator.Key + " and "; text += enumerator.Value + "
"; } Console.WriteLine("String value: {0}", text); } }
此程式與上一個程式類似,只是在雜湊表和字串值顯示方式上略有改動。
這裡我們有一個數字名稱雜湊表,鍵為數字,值為其對應的數字名稱。然後,我們宣告一個 IDictionaryEnumerator,使用它遍歷雜湊表並將雜湊表的每個專案(鍵和值)複製到字串中。每個雜湊表專案都以分隔符“
”分隔。
輸出
該程式生成以下輸出。
Hashtable items: 10 => Ten 60 => Sixty 40 => Forty 50 => Fifty 20 => Twenty 30 => Thirty String value: 10 and Ten 60 and Sixty 40 and Forty 50 and Fifty 20 and Twenty 30 and Thirty
從上面的輸出中我們可以看到,雜湊表集合項已成功複製到字串變數中。
因此,在本文中,我們討論了將雜湊表集合轉換為字串。雖然沒有直接的方法來進行這種轉換,但我們可以透過使用 IDictionaryEnumerator 輕鬆地將雜湊表集合轉換為字串。它儲存雜湊表的專案(鍵和值),我們可以輕鬆訪問這些專案並使用迴圈將其複製到字串中。