Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar jadual hash kepada rentetan?

Bagaimana untuk menukar jadual hash kepada rentetan?

PHPz
PHPzke hadapan
2023-09-07 19:57:07978semak imbas

Bagaimana untuk menukar jadual hash kepada rentetan?

Dalam C#, koleksi hashtable ialah koleksi elemen bukan generik. Setiap elemen jadual hash diwakili sebagai pasangan nilai kunci. Kekunci jadual hash adalah bukan nol dan unik. Nilai boleh diulang dan/atau kosong.

Kelas Hashtable untuk Sistem C#. Antara muka koleksi ialah perwakilan koleksi jadual hash. Kelas ini menyediakan pelbagai pembina, kaedah dan sifat untuk memanipulasi koleksi jadual hash.

Kami juga boleh menukar jadual cincang kepada koleksi lain, seperti tatasusunan, ArrayList, dsb., dan juga kepada perwakilan rentetan.

Dalam artikel ini, mari kita bincangkan cara menukar koleksi jadual cincang kepada rentetan.

Bagaimana untuk menukar entri jadual hash kepada rentetan?

Sila ambil perhatian bahawa untuk menukar item jadual cincang kepada rentetan, kelas jadual cincang tidak menyediakan kaedah langsung seperti Java. Terdapat juga tiada sifat terbina dalam untuk melakukan penukaran. Oleh itu, kita perlu mereka bentuk kaedah kita sendiri untuk melakukan penukaran.

Elemen jadual hash ditukar kepada perwakilan rentetan.

Untuk melakukan ini, kita perlu mengulangi koleksi jadual cincang dan menyalin kunci dan nilai setiap item ke dalam rentetan. Kita boleh menggunakan pembatas untuk memisahkan setiap item nilai kunci dalam rentetan.

Untuk memprogramkan sebenarnya dalam C#, kami menggunakan IDictionaryEnumerator untuk mengulangi setiap item dalam jadual cincang. Enumerator memegang setiap item (kunci dan nilai) jadual cincang. Kami kemudiannya boleh menggunakan gelung untuk menyalin setiap kunci dan nilai ke dalam rentetan seperti yang ditunjukkan di bawah.

IDictionaryEnumerator enumerator = phonetics.GetEnumerator();
while (enumerator.MoveNext()) {
   text += enumerator.Key + ", ";
   text += enumerator.Value + "";
}

Seperti yang kita dapat lihat dalam kod di atas, selepas menyalin setiap pasangan nilai kunci ke rentetan, kami memasukkan pembatas "

" supaya setiap item dipisahkan.

Contoh

Di bawah ialah program C# yang lengkap untuk menukar item jadual cincang kepada rentetan.

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);
   }
}

Dalam program ini, kami mempunyai jadual cincang simbol fonetik dari A hingga F. Kami mengisytiharkan 'teks' pembolehubah rentetan. Kemudian kami mengisytiharkan IDictionaryEnumerator untuk mengulangi jadual cincang. Kemudian menggunakan enumerator ini, kami menggunakan gelung 'while' untuk menyalin kandungan koleksi jadual cincang ke dalam rentetan.

Output

Atur cara menjana output berikut.

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

Di sini kami mula-mula memaparkan kandungan koleksi jadual hash. Seterusnya, kami memaparkan rentetan. Kita dapat melihat bahawa nilai rentetan terdiri daripada semua elemen jadual cincang yang dipisahkan oleh ‘

’ (karakter baris baharu).

Contoh

Mari laksanakan program lain untuk menukar jadual cincang kepada rentetan. Program C# yang lengkap ditunjukkan di bawah.

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);
   }
}

Program ini serupa dengan yang sebelumnya, dengan beberapa perubahan kecil dalam cara jadual cincang dan nilai rentetan dipaparkan.

Di sini, kami mempunyai jadual cincang dengan nombor sebagai kunci dan nama nombor yang sepadan sebagai nilai. Kami kemudiannya menggunakan IDictionaryEnumerator untuk mengisytiharkan objek yang berulang di atas jadual cincang dan menyalin setiap item (kunci dan nilai) jadual cincang ke dalam rentetan. Setiap entri jadual cincang dipisahkan oleh pembatas ‘

’.

Output

Atur cara menjana output berikut.

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

Daripada output di atas kita dapat melihat bahawa item koleksi jadual hash telah berjaya disalin ke pembolehubah rentetan.

Jadi, dalam artikel ini, kami membincangkan menukar koleksi jadual cincang kepada rentetan. Walaupun tiada cara langsung untuk melakukan penukaran ini, kami boleh menukar koleksi jadual cincang kepada rentetan dengan mudah menggunakan arahan berikut: IDictionaryEnumerator. Ia memegang item (kunci dan nilai) jadual cincang, yang boleh kami akses dan salin dengan mudah ke dalam rentetan menggunakan gelung.

Atas ialah kandungan terperinci Bagaimana untuk menukar jadual hash kepada rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam