วิธีการทำงานกับคอลเลกชัน HashTable ใน Visual Basic .NET หรือ Visual Basic 2005

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 307933 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้แสดงข้อมูลเกี่ยวกับคอลเลกชัน HashTable เนื่องจาก hashing eliminates จำเป็นสำหรับการค้นหา costly ของข้อมูลในการดึงข้อมูล คุณสามารถใช้ hashing ดึงข้อมูลได้อย่างมีประสิทธิภาพ hashing ใช้ค่าของคีย์ตัวเองเพื่อค้นหาตำแหน่งของข้อมูล

ไลบรารีคลาสฐานเสนอเป็นHashTableคลาสที่กำหนดในการSystem.Collectionsnamespace ดังนั้นคุณไม่จำเป็นต้องใช้รหัสตารางแฮของคุณเอง

ขั้นตอนในการสร้างตัวอย่างนี้

คอลเลกชัน HashTable เก็บเป็น(แป้น ค่า)คู่และใช้การคีย์:แฮ และดูสถานที่เก็บ กระบวนการคีย์:มี immutable และไม่มีรายการที่ซ้ำกันในนั้นHashTable. ตัวอย่างนี้ใช้อินสแตนซ์ต่าง ๆ ของ simple เป็นบุคคลคลาสที่เก็บในตัวHashTable. นามสกุลถูกใช้เป็นคีย์:.
  1. เปิด Microsoft Visual Studio .NET หรือ Microsoft Visual Studio 2005 และสร้างโครงการแอพลิเคชันของ Windows ใน Visual Basic .NET หรือ Visual Basic 2005 form1 ถูกเพิ่มเข้าไปในโครงการที่เป็นค่าเริ่มต้น
  2. โซลูชัน Explorer คลิกขวาชื่อโครงการ ชี้ไปที่addแล้ว คลิกเพิ่มระดับชั้นเมื่อต้องการเพิ่มคำคลาสโมดูล Class1 ถูกเพิ่มเข้าไปในโครงการที่เป็นค่าเริ่มต้น
  3. ในการเพิ่มรายการใหม่กล่องโต้ตอบ คลิกOPEN.

    หมายเหตุ:ใน Visual Studio 2005 คลิกaddแทนOPEN.
  4. รหัสใด ๆ ในการแทนClass1โมดูลกับรหัสต่อไปนี้:
    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
    						
    กระบวนการบุคคลคลาสที่มีตัวสร้างหนึ่งที่ปฏิบัติการFirstNameและLastNameพารามิเตอร์ และกำหนดพารามิเตอร์เหล่านี้กับตัวแปรภายในเครื่อง กระบวนการToStringฟังก์ชัน overridesToStringจากนั้นวัตถุคลาเพื่อย้อนกลับFnameและLnameconcatenated เข้าด้วยกัน
  5. ใน Form1.vb เพิ่มต่อไปนี้นำเข้าคำสั่งไปยังด้านบนของโมดูรหัส:
    Imports System.Collections
    					
  6. สร้างแบบฟอร์มระดับHashtableวัตถุ และกำหนดตัวแปรที่สามชนิดบุคคล. เพิ่มรหัสต่อไปนี้เป็นคลาส Form1:
    Dim MyTable As New Hashtable()
    
    'For simplicity, create three Person objects to add to the HashTable collection.
    
    Dim Person1, Person2, Person3 As Person  
    					
  7. ในขั้นตอนต่อไปนี้ ใช้addวิธีการนี้Hashtableวัตถุเพื่อเพิ่ม 3บุคคลวัตถุไปยังHashtableในตัวลอง-catchบล็อก กระบวนการลอง-catchบล็อก catches ข้อยกเว้น และแสดงข้อความถ้ามีคีย์ที่ซ้ำกัน
    1. สถานปุ่มควบคุมการ Form1 และเปลี่ยนแปลงนั้นข้อความคุณสมบัติการเพิ่มองค์ประกอบ.
    2. คลิกสองครั้งที่ปุ่มเพื่อเปิดหน้าต่างรหัส และวางรหัสต่อไปนี้ในการButton1_Clickเหตุการณ์:
      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. กระบวนการHashtableวัตถุให้เป็นตัวสร้างดัชนี ในขั้นตอนต่อไปนี้ จัดทำดัชนีมีการคีย์:การเข้าถึงค่าที่เก็บอยู่ในตำแหน่งที่ตั้ง hashed
    1. เพิ่มคำปุ่มควบคุมการ Form1 และเปลี่ยนแปลงนั้นข้อความคุณสมบัติการรับสินค้า.
    2. คลิกสองครั้งปุ่ม และวางรหัสต่อไปนี้ในการButton2_Clickเหตุการณ์:
      '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. ในขั้นตอนต่อไปนี้ ใช้เอาออกวิธีการเอารายการเดียวจากคอลเลกชัน HashTable:
    1. เพิ่มคำปุ่มควบคุมการ Form1 และเปลี่ยนแปลงนั้นข้อความคุณสมบัติการลบรายการ.
    2. คลิกสองครั้งปุ่ม และวางรหัสต่อไปนี้ในการButton3_Clickเหตุการณ์:
      '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. ในขั้นตอนต่อไปนี้ ระบุสินค้าที่จัดเก็บไว้ในคอลเลกชัน HashTable
    1. เพิ่มคำปุ่มควบคุมการ Form1 และเปลี่ยนแปลงนั้นข้อความคุณสมบัติการการระบุ.
    2. คลิกสองครั้งปุ่ม และวางรหัสต่อไปนี้ในการButton4_Clickเหตุการณ์:
      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 
      							
      รหัสนี้ declares ตัวแปรของชนิดIDictionaryEnumeratorและมีเรียกGetEnumeratorวิธีการเรียกเก็บเงิน HashTable ด้วยการแจงนับส่งคืน รหัสระบุยังรายการต่าง ๆ ในการเก็บรวบรวม และใช้การคีย์วิธีการนี้HashTableเมื่อต้องการระบุถึงแป้นเหล่านั้น
  11. ในขั้นตอนต่อไปนี้ ใช้ยกเลิกการเลือกวิธีการยกเลิกเลือกนั้นHashTable.
    1. เพิ่มคำปุ่มควบคุมการ Form1 และเปลี่ยนแปลงนั้นข้อความคุณสมบัติการยกเลิกการเลือก.
    2. คลิกสองครั้งปุ่ม และวางรหัสต่อไปนี้ในการButton5_Clickเหตุการณ์:
      MyTable.Clear()
      MessageBox.Show("HashTable is now empty")
      						
  12. ทำตามขั้นตอนเหล่านี้เพื่อสร้าง และเรียกใช้โปรแกรมประยุกต์:
    1. คลิกเพิ่มรายการ. หมายเหตุที่สามบุคคลวัตถุที่ถูกเพิ่มไปยังคอลเลกชัน HashTable
    2. คลิกรับสินค้า. โปรดสังเกตว่า ตัวสร้างดัชนีการรับสินค้าในคอลเลกชัน HashTable สามเพิ่งเพิ่มแสดงรายการ
    3. คลิกลบรายการ. โปรดสังเกตว่า มีลบรายการที่ตั้งของคีย์ "Berge"
    4. คลิกการระบุ. หมายเหตุที่IDictionaryEnumeratorระบุยังรายการต่าง ๆ ในคอลเลกชัน HashTable
    5. คลิกยกเลิกการเลือก. โปรดสังเกตว่า สินค้าทั้งหมดจะถูกล้างออกจากคอลเลกชัน HashTable
หมายเหตุ:: ตัวอย่างบริษัท องค์กร ผลิตภัณฑ์ ชื่อโดเมน ที่อยู่อีเมล โลโก้ บุคคล ตำแหน่ง และเหตุการณ์ที่อธิบายนี้จะสมมติ ไม่มีความสัมพันธ์กับใด ๆ บริษัทจริง องค์กร ผลิตภัณฑ์ ชื่อโดเมน ที่อยู่อีเมล โลโก้ บุคคล ตำแหน่ง หรือเหตุการณ์โดยเฉพาะ หรือควรจะ inferred

คุณสมบัติ

หมายเลขบทความ (Article ID): 307933 - รีวิวครั้งสุดท้าย: 10 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB307933 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:307933

ให้ข้อเสนอแนะ

 

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