Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membuat koleksi HashTable dalam C#?

Bagaimana untuk membuat koleksi HashTable dalam C#?

PHPz
PHPzke hadapan
2023-08-31 23:13:021004semak imbas

如何在 C# 中创建 HashTable 集合?

HashTable ialah koleksi bukan generik dalam C#. Ia menyimpan pasangan nilai kunci, serupa dengan koleksi "kamus" tujuan umum. HashTable ditakrifkan dalam

System. Collections. namespace.

HashTable mengira kod cincang untuk setiap kunci dan menyimpannya dalam baldi berbeza secara dalaman. Kemudian, apabila nilai itu diakses, kod cincang dipadankan dengan kod cincang kunci yang ditentukan. Oleh itu, carian dioptimumkan melalui HashTable.

Dalam tutorial ini, kita akan belajar cara mencipta koleksi HashTable dalam C#.

Fungsi jadual hash

Sebelum kita mula mencipta HashTable, mari lihat beberapa ciri penting koleksi HashTable dalam C#.

Koleksi HashTable menyimpan pasangan nilai kunci.

Jadual cincang adalah sebahagian daripada sistem. Ruang nama koleksi dalam C# dan melaksanakan antara muka IDictionary. Unsur-unsur HashTable disimpan sebagai objek DictionaryEntry.

Kunci jadual cincang tidak boleh kosong dan mestilah unik. Walau bagaimanapun, nilai boleh kosong atau pendua.

Nilai dalam jadual cincang boleh diakses menggunakan kekunci dalam pengindeks, sama seperti nilai tatasusunan.

Kunci dalam HashTable ialah objek tidak boleh diubah. Setiap objek utama ini menyediakan fungsi cincang.

Kelas Hashtable biasa melaksanakan antara muka IDictionary C#, ICollection, ISerializable, IEnumerable, IDeserializationCallback dan ICloneable.

Elemen yang disimpan dalam HashTable boleh daripada jenis yang sama atau jenis yang berbeza.

Mengingat ciri penting ini, mari kita bincangkan cara membuat jadual cincang dalam C#.

Bagaimana untuk membuat koleksi HashTable dalam C#?

Kelas HashTable C# menyediakan 16 pembina terlebih beban untuk mencipta HashTable.

Jadual berikut menunjukkan pembina HashTable yang akan kami gunakan dalam artikel ini.

Pembina Penerangan
HashTable() Mulakan contoh kosong baharu kelas HashTable dengan kapasiti permulaan lalai, pembekal kod cincang, pembanding dan faktor beban.
Meja cincang (IDictionary) Mencipta contoh baharu kelas Hashtable dan memulakannya dengan kandungan kamus yang ditentukan.

NOTA- Untuk mengetahui lebih lanjut tentang kelas HashTable dalam C#, baca artikel kami C# - kelas HashTable.

Mari lihat langkah yang biasanya diikuti untuk mencipta koleksi HashTable dalam C#.

Pertama, kami memasukkan ruang nama System.collection dalam program kami

using System. Collections;

Seterusnya, kami mencipta jadual hash menggunakan kelas Hashtable. Untuk ini kami menggunakan pembina lalai.

Hashtable hashtable_name = new Hashtable();

Kini kita boleh menambah elemen pada HashTable menggunakan kaedah "Add()".

Jadi di sini, kita boleh memulakan keseluruhan HashTable semasa mencipta contoh HashTable, atau kita boleh menggunakan kaedah Add() untuk menambah elemen pada HashTable satu demi satu.

Contoh 1

Atur cara berikut menunjukkan mencipta HashTable menggunakan C#.

using System;
using System. Collections;
class MyHashTable {
   // Main Method
   static public void Main() {

      // Create hashtable using the default constructor
      Hashtable indianNumberSystem = new Hashtable();
      
      //add a key/value pair using the Add() method
      indianNumberSystem.Add(1,"Ones"); 
      indianNumberSystem.Add(10,"Tens");
      indianNumberSystem.Add(100,"Hundred");
      indianNumberSystem.Add(1000,"Thousand");
      indianNumberSystem.Add(10000,"Ten Thousand");
      indianNumberSystem.Add(100000,"Lac");
      indianNumberSystem.Add(1000000,"Ten Lac");
      indianNumberSystem.Add(10000000,"Crore");
      
      //display HashTable contents
      Console.WriteLine("Key, Value pairs from Indian Number System:");
      foreach(DictionaryEntry ele1 in indianNumberSystem){
         Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value);
      }      
   }
}

Dalam program di atas, kami menentukan contoh HashTable menggunakan pembina lalai. Kemudian kami menambah pasangan kunci/nilai pada HashTable menggunakan kaedah Add(). Akhir sekali, gunakan gelung untuk setiap untuk mencetak kandungan HashTable satu demi satu.

Output

Program di atas menjana output berikut.

Key, Value pairs from Indian Number System:
100 (Hundred) 
1000 (Thousand) 
10 (Tens) 
1000000 (Ten Lac) 
100000 (Lac) 
10000000 (Crore) 
10000 (Ten Thousand) 
1 (Ones)

Program ini memaparkan jadual cincang yang mengandungi nilai tempat sistem angka India. Ambil perhatian bahawa kerana ini ialah program mudah yang mencipta jadual cincang dan menambah kandungan padanya, output tidak diformatkan.

Contoh 2

Mari kita ambil satu lagi contoh mencipta HashTable dalam C#. Program berikut menggunakan pembina yang berbeza untuk mencipta HashTable.

using System;
using System.Collections;
class MyHashTable {
   // Main Method
   static public void Main() {

      // Create hashtable without using Add method
      Hashtable my_hashtable1 = new Hashtable() {{"K1", "New York"}};

      // Adding key/value pair in the hashtable using Add() method
      my_hashtable1.Add("K2", "Paris");
      my_hashtable1.Add("K3", "London");
      my_hashtable1.Add("K4", "Mumbai");
      my_hashtable1.Add("K5", "Berlin");
      
      Console.WriteLine("Key, Value pairs from my_hashtable1:");
      foreach(DictionaryEntry ele1 in my_hashtable1){
         Console.WriteLine("{0} and {1} ", ele1.Key, ele1.Value);
      }      
   }
}

Seperti yang kita lihat dalam kod di atas, mula-mula kita mencipta objek HashTable dengan pasangan nilai kunci. Kemudian kami menambah elemen pada HashTable menggunakan kaedah add() kelas HashTable. Akhir sekali, dengan menggunakan gelung untuk setiap, lelaran pada objek HashTable untuk mencetak setiap elemen hashTable (pasangan nilai-kunci).

Output

Program di atas menghasilkan output berikut.

Key, Value pairs from my_hashtable1:
K2 and Paris 
K1 and New York 
K3 and London 
K4 and Mumbai 
K5 and Berlin 

Dalam output di atas, pasangan nilai kunci dipaparkan dalam susunan nilai abjad terbalik. Ini ialah output lalai jadual cincang kerana kami tidak menyediakan sebarang kod untuk memformat output. Kelas HashTable menyediakan pelbagai kaedah untuk mengatur/memformat output, yang akan kita pelajari dalam tutorial seterusnya.

Dalam tutorial ini, kami membincangkan cara membuat koleksi HashTable dalam C#. HashTable ialah koleksi bukan generik pasangan nilai kunci. Kekunci dalam HashTable ialah nilai bukan nol yang unik. Nilai boleh kosong dan berulang. Kita boleh mencipta HashTable dalam C# menggunakan kelas HashTable yang disediakan oleh Systems. Antara muka koleksi dan ubah suai menggunakan pelbagai kaedah yang disediakan oleh kelas ini.

Atas ialah kandungan terperinci Bagaimana untuk membuat koleksi HashTable dalam C#?. 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