Bagaimana bekerja dengan koleksi HashTable dalam Visual Basic.BERSIH atau pada Visual Basic 2005

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 307933 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menyediakan informasi tentang koleksi HashTable. Karena hashing menghilangkan kebutuhan untuk mencari mahal data untuk mengambil data, Anda dapat menggunakan hashing untuk efisien mengambil data. Hashing menggunakan nilai kunci sendiri untuk menemukan data.

Perpustakaan kelas dasar menawarkan HashTable kelas yang didefinisikan dalam System.Collections namespace sehingga Anda tidak perlu kode tabel hash Anda sendiri.

Langkah-langkah untuk membangun sampel

Kumpulan HashTable toko (Kunci, nilai) pasangan dan menggunakan Kunci hash dan mendapatkan lokasi penyimpanan. The Kunci tetap dan tidak dapat memiliki entri duplikat dalam HashTable. Sampel ini menggunakan beberapa contoh sederhana Orang kelas untuk menyimpan dalam HashTable. Nama terakhir digunakan sebagai Kunci.
  1. Buka Microsoft Visual Studio.NET atau Microsoft Visual Studio 2005, dan menciptakan sebuah aplikasi Windows proyek dalam Visual Basic.BERSIH atau pada Visual Basic 2005. Form1 ditambahkan ke proyek secara default.
  2. Dalam solusi Explorer, klik kanan nama proyek, arahkan ke Tambahkan, lalu klik Menambahkan kelas untuk menambahkan Kelas modul. Class1 ditambahkan ke proyek secara default.
  3. Dalam Menambah Item baru kotak dialog, klik Terbuka.

    Catatan Pada Visual Studio 2005, klik Tambahkan Melainkan Terbuka.
  4. Mengganti kode di Class1 modul dengan kode berikut:
    Public Class Person
        Public Fname, Lname As String
    
        Sub New(ByVal FirstName As String, ByVal LastName As String)
            Fname = FirstName
            Lname = LastName
        End Sub
    
        Public Overrides Function ToString() As String
            Return Fname + " " + Lname
        End Function
    End Class
    						
    The Orang kelas memiliki satu konstruktor yang mengambil Nama depan dan Nama belakang parameter dan menetapkan parameter ini ke variabel lokal. The ToString fungsi menimpa ToString dari Objek kelas untuk kembali Fname dan Lname concatenated bersama-sama.
  5. Dalam Form1.vb, menambahkan berikut Impor Pernyataan atas modul kode:
    Imports System.Collections
    					
  6. Membuat tingkat bentuk Hashtable objek, dan menyatakan variabel tiga jenis Orang. Tambahkan kode berikut untuk Form1 kelas:
    Dim MyTable As New Hashtable()
    
    'For simplicity, create three Person objects to add to the HashTable collection.
    
    Dim Person1, Person2, Person3 As Person  
    					
  7. Dalam langkah-langkah berikut, menggunakan Tambahkan metode Hashtable objek untuk menambahkan tiga Orang objek Hashtable dalam mencoba menangkap blok. The mencoba menangkap blok menangkap pengecualian dan menampilkan pesan jika kunci duplikat ada.
    1. Tempat Tombol mengontrol pada Form1, dan perubahan Teks properti untuk Menambahkan unsur-unsur.
    2. Double-klik tombol untuk membuka jendela kode dan paste kode berikut di Button1_Click acara:
      Person1 = New Person("Karen", "Berge")
      Person2 = New Person("David", "Campbell")
      Person3 = New Person("Jim", "Kim")
      
      'The Add method takes Key as the first parameter and Value as the second parameter.
      
      Try
           MyTable.Add(Person1.Lname, Person1)
           MyTable.Add(Person2.Lname, Person2)
           MyTable.Add(Person3.Lname, Person3)
      Catch ae As ArgumentException
           MessageBox.Show("Duplicate Key")
      End Try
      						
  8. The Hashtable objek menyediakan Pengindeks. Dalam langkah-langkah berikut, indeks dengan Kunci untuk mengakses nilai yang disimpan di lokasi hash.
    1. Tambahkan Tombol mengontrol Form1, dan perubahan Teks properti untuk Mendapatkan barang-barang.
    2. Double-klik tombol, dan paste kode berikut di Button2_Click acara:
      'Use the indexer of the Hashtable class to retrieve your objects. The indexer takes 
      'Key as a parameter and accesses it with the Hashed location.
              
      Try
           MessageBox.Show(MyTable(Person1.Lname).ToString)
           MessageBox.Show(MyTable(Person2.Lname).ToString)
           MessageBox.Show(MyTable(Person3.Lname).ToString)
      Catch ex As NullReferenceException
           MessageBox.Show("Key not in Hashtable")
      End Try
      						
  9. Dalam langkah-langkah berikut, menggunakan Hapus metode untuk menghapus satu item dari koleksi HashTable:
    1. Tambahkan Tombol mengontrol Form1, dan perubahan Teks properti untuk Menghapus Item.
    2. Double-klik tombol, dan paste kode berikut di Button3_Click acara:
      'Use the Count property.
      If (MyTable.Count = 0) Then
           MessageBox.Show("There are no items in HashTable")
      Else
           MessageBox.Show("The count before removing an Item is" & " " & MyTable.Count)
           MessageBox.Show("Removing value stored at key value (Berge)")
           'Remove the object that is stored at the Key value Person1.Lname.
           MyTable.Remove(Person1.Lname)
      End If
      						
  10. Dalam langkah-langkah berikut, menghitung item yang disimpan dalam koleksi HashTable.
    1. Tambahkan Tombol mengontrol Form1, dan perubahan Teks properti untuk Menghitung.
    2. Double-klik tombol, dan paste kode berikut di Button4_Click acara:
      Dim Enumerator As IDictionaryEnumerator
      Enumerator = MyTable.GetEnumerator()
      
      If (MyTable.Count = 0) Then
           MessageBox.Show("The HashTable is empty")
      Else
           MessageBox.Show("Enumerating through the HashTable collection")
           While Enumerator.MoveNext()
                MessageBox.Show(Enumerator.Value.ToString())
           End While
      End If
      
      Dim MyKeys As ICollection
      Dim Key As Object
      
      If (MyTable.Count = 0) Then
           MessageBox.Show("The HashTable is empty")
      Else
           MessageBox.Show("Accessing keys property to return keys collection")
           MyKeys = MyTable.Keys()
      
           For Each Key In MyKeys
                MessageBox.Show(Key.ToString)
           Next
      End If 
      							
      Kode ini menyatakan variabel tipe IDictionaryEnumerator dan panggilan GetEnumerator metode koleksi HashTable. Dengan Enumerator kembali, kode enumerates melalui item dalam koleksi dan menggunakan Kunci metode HashTable untuk menghitung melalui tombol.
  11. Dalam langkah-langkah berikut, menggunakan Jelas metode untuk menghapus HashTable.
    1. Tambahkan Tombol mengontrol Form1, dan perubahan Teks properti untuk Jelas.
    2. Double-klik tombol, dan paste kode berikut di Button5_Click acara:
      MyTable.Clear()
      MessageBox.Show("HashTable is now empty")
      						
  12. Ikuti langkah-langkah untuk membangun dan menjalankan aplikasi:
    1. Klik Menambah item. Catatan bahwa tiga Orang objek ditambahkan ke koleksi HashTable.
    2. Klik Mendapatkan barang-barang. Perhatikan bahwa Pengindeks memperoleh item dalam koleksi HashTable. Tiga baru ditambahkan item yang ditampilkan.
    3. Klik Menghapus Item. Perhatikan bahwa item di lokasi kunci "Berge" dihapus.
    4. Klik Menghitung. Perhatikan bahwa IDictionaryEnumerator enumerates melalui item dalam koleksi HashTable.
    5. Klik Jelas. Perhatikan bahwa semua item yang dihapus dari koleksi HashTable.
CATATAN: Contoh perusahaan, organisasi, produk, nama domain, alamat e-mail, logo, orang, tempat dan peristiwa-peristiwa yang digambarkan di sini adalah fiktif. Tidak ada hubungan dengan perusahaan nyata, organisasi, produk, nama domain, alamat email, logo, orang, tempat, atau peristiwa dimaksudkan atau mengaitkan.

Properti

ID Artikel: 307933 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Kata kunci: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB307933 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:307933

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com