Ako pracovať s HashTable zber v jazyku Visual Basic.ČISTÁ alebo v jazyku Visual Basic 2005

Preklady článku Preklady článku
ID článku: 307933 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok poskytuje informácie o kolekcii HashTable. Pretože hashing odstraňuje nutnosť pre nákladné vyhľadávanie údajov načítať údaje, môžete použiť hashing efektívne načítať údaje. Hodnotu kľúč sám o sebe hashing používa na vyhľadanie údajov.

Trieda knižnice Base ponúknuť HashTable trieda, ktorá je definovaná v System.Collections priestor názvov tak, že nie sú povinné kód vlastné hašovacie tabuľky.

Kroky na vybudovanie vzorky

Kolekcia HashTable ukladá (Kľúč, hodnota) dvojica a použitie Kľúč hash a získať miesto na ukladanie. V Kľúč je nemenná a nemôžete mať duplicitné položky HashTable. Táto vzorka používa viacero inštancií jednoduchý Osoba Trieda skladovať v HashTable. Priezvisko a meno sa používa ako Kľúč.
  1. Otvorte program Microsoft Visual Studio.NET alebo Microsoft Visual Studio 2005, a vytvoriť systém Windows aplikácie projektu v programe Visual Basic.ČISTÁ alebo v jazyku Visual Basic 2005. Form1 sa predvolene pridá do projektu.
  2. V roztoku Prieskumník kliknite pravým tlačidlom na názov projektu, ukážte na Pridať, a potom kliknite na tlačidlo Pridať triedy Ak chcete pridať Trieda modul. Class1 sa predvolene pridá do projektu.
  3. V Doplniť nový bod dialógové okno, kliknite na tlačidlo Otvorené.

    Poznámka: Visual Studio 2005, kliknite na Pridať namiesto Otvorené.
  4. Nahradiť ľubovoľný kód v Class1 modul s nasledujúcim kódom:
    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
    						
    V Osoba trieda má jeden konštruktéra, ktorá trvá KrstnéMeno a Priezvisko parametre a priradí tieto parametre lokálne premenné. V ToString Funkcia prepíše ToString z Objekt Trieda vrátiť Fname a Lname reťazové spolu.
  5. V Form1.vb, pridajte nasledujúce Dovozy vyhlásenie k vrcholu kód modulu:
    Imports System.Collections
    					
  6. Vytvoriť formulár úroveň Hashtable objekt a vyhlásiť tri premenné typu Osoba. Do triedy Form1, pridajte nasledujúci kód:
    Dim MyTable As New Hashtable()
    
    'For simplicity, create three Person objects to add to the HashTable collection.
    
    Dim Person1, Person2, Person3 As Person  
    					
  7. V nasledujúcich krokoch, použite Pridať metóda Hashtable objekt pridať tri Osoba objekty na Hashtable v Skúste vedľajšieho úlovku blok. V Skúste vedľajšieho úlovku blok úlovky výnimkou a zobrazí správu, ak existujú duplicitné kľúče.
    1. Miesto Tlačidlo kontroly na Form1 a zmeniť Text Vlastnosť Pridať prvky.
    2. Dvakrát kliknite na tlačidlo otvoriť okno kód a prilepte nasledujúci kód v Button1_Click udalosť:
      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. V Hashtable objekt poskytuje službu indexovanie. V nasledujúcich krokoch indexovať s Kľúč prístup na hodnotu, ktorá je uložená na hashovaný adresár umiestnenie.
    1. Pridať Tlačidlo kontroly Form1 a zmeniť Text Vlastnosť Získajte položiek.
    2. Kliknite dvakrát na tlačidlo a prilepte nasledujúci kód v Button2_Click udalosť:
      '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. V nasledujúcich krokoch, použite Odstránenie metóda odstrániť jednu položku z HashTable kolekcie:
    1. Pridať Tlačidlo kontroly Form1 a zmeniť Text Vlastnosť Odstránenie položky.
    2. Kliknite dvakrát na tlačidlo a prilepte nasledujúci kód v Button3_Click udalosť:
      '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. V nasledujúcich krokoch enumerovať položiek, ktoré sú uložené v kolekcii HashTable.
    1. Pridať Tlačidlo kontroly Form1 a zmeniť Text Vlastnosť Enumerovať.
    2. Kliknite dvakrát na tlačidlo a prilepte nasledujúci kód v Button4_Click udalosť:
      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 
      							
      Tento kód deklaruje premennú typu IDictionaryEnumerator a vyzýva GetEnumerator metóda zberu HashTable. S Enumerátor vrátené, kód enumeruje cez položky v kolekcii a používa Kľúče metóda HashTable Enumerácia prostredníctvom kľúče.
  11. V nasledujúcich krokoch, použite Jasné metóda zrušte HashTable.
    1. Pridať Tlačidlo kontroly Form1 a zmeniť Text Vlastnosť Jasné.
    2. Kliknite dvakrát na tlačidlo a prilepte nasledujúci kód v Button5_Click udalosť:
      MyTable.Clear()
      MessageBox.Show("HashTable is now empty")
      						
  12. Postupujte podľa týchto krokov na vybudovanie a spustenie aplikácie:
    1. Kliknite na položku Pridanie položiek. Poznámka, že tri Osoba objekty sa pridávajú k HashTable zberu.
    2. Kliknite na položku Získajte položiek. Všimnite si, že indexer získa položky v kolekcii HashTable. Tri novo pridané položky sa zobrazia.
    3. Kliknite na položku Odstránenie položky. Všimnite si, že bod "Berge" kľúčové mieste sa vypúšťa.
    4. Kliknite na položku Enumerovať. Všimnite si, že IDictionaryEnumerator enumeruje cez položky v kolekcii HashTable.
    5. Kliknite na položku Jasné. Všimnite si, že všetky položky sú preverení z HashTable kolekcie.
POZNÁMKA: Príklad spoločnosti, organizácie, produkty, názvy domén, e-mailové adresy, logá, ľudí, places and events príkladoch sú vymyslené. Akákoľvek podobnosť so skutočnou spoločnosťou, organizáciou, výrobku, doménové meno, e-mailovú adresu, loga, osoba, miestach alebo udalosti je určená alebo udalosťami je čisto náhodná.

Vlastnosti

ID článku: 307933 - Posledná kontrola: 1. novembra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Kľúčové slová: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB307933 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:307933

Odošlite odozvu

 

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