Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để làm việc với bộ sưu tập HashTable trong Visual Basic.NET hay Visual Basic 2005

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:307933
TÓM TẮT
Bài viết này cung cấp thông tin về bộ sưu tập HashTable. Vì băm giúp loại bỏ sự cần thiết phải tốn kém tìm kiếm dữ liệu truy xuất dữ liệu, bạn có thể dùng băm hiệu quả truy xuất dữ liệu. Băm sử dụng giá trị của khóa riêng của mình để xác định vị trí của dữ liệu.

Thư viện lớp cơ sở cung cấp một HashTable lớp học được định nghĩa trong các System.collections không gian tên do đó bạn không phải mã của riêng bạn bảng băm.

back to the top

Các bước để xây dựng các mẫu

Một bộ sưu tập HashTable cửa hàng một (Phím, giá trị) cặp và sử dụng các Key băm và có được vò trí löu tröõ. Các Key là không thay đổi và không thể có mục trùng lặp trong các HashTable. Mẫu này sử dụng một vài trường hợp của một đơn giản Người lớp để lưu trữ trong một HashTable. Tên cuối cùng được sử dụng như các Key.
  1. Microsoft Visual Studio mở.NET hoặc Microsoft Visual Studio 2005, và tạo ra một ứng dụng Windows dự án trong Visual Basic.NET hay Visual Basic 2005. Form1 sẽ được thêm vào các dự án theo mặc định.
  2. Trong giải pháp Explorer, bấm chuột phải vào tên dự án, điểm đến Thêm, sau đó bấm Thêm Class để thêm một Lớp học mô-đun. Class1 sẽ được thêm vào các dự án theo mặc định.
  3. Trong các Thêm mục mới hộp thoại hộp, bấm vào Mở.

    Chú ý Trong Visual Studio 2005, nhấp vào Thêm Thay vì Mở.
  4. Thay thế bất kỳ mã số trong các Class1 mô-đun với đoạn mã sau:
    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 FunctionEnd Class						
    Các Người lớp có một trong những nhà xây dựng sẽ đưa các FirstNameThứ các tham số và gán các tham số cho các biến địa phương. Các ToString chức năng ghi đè ToString từ các Đối tượng lớp để trở về FnameLname nối với nhau.
  5. Trong Form1.vb, thêm dưới đây Nhập khẩu tuyên bố lên đầu các mô-đun mã:
    Imports System.Collections					
  6. Tạo ra một hình thức cấp Hashtable đối tượng, và tuyên bố ba biến loại Người. Thêm mã sau vào các lớp học 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. Trong các bước sau đây, sử dụng các Thêm phương pháp của các Hashtable đối tượng để thêm ba Người các đối tượng để các Hashtable trong một cố gắng nắm bắt khối. Các cố gắng nắm bắt chặn bắt ngoại lệ và hiển thị một thông báo nếu trùng lặp phím tồn tại.
    1. Nơi một Nút điều khiển trên Form1 và thay đổi các Văn bản bất động sản để Thêm các yếu tố.
    2. Bấm đúp nút để mở cửa sổ mã của nó, và dán mã sau đây trong các Button1_Click sự kiện:
      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. Các Hashtable đối tượng cung cấp một chỉ mục. Trong các bước sau đây, chỉ mục với các Key để truy cập vào giá trị được lưu trữ tại vị trí băm nhỏ từng.
    1. Thêm một Nút điều khiển để Form1 và thay đổi các Văn bản bất động sản để Nhận được ghi.
    2. Bấm đúp chuột vào nút, và dán mã sau đây trong các Button2_Click sự kiện:
      '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. Trong các bước sau đây, sử dụng các Gỡ bỏ phương pháp để loại bỏ một mục từ bộ sưu tập HashTable:
    1. Thêm một Nút điều khiển để Form1 và thay đổi các Văn bản bất động sản để Loại bỏ khoản mục.
    2. Bấm đúp chuột vào nút, và dán mã sau đây trong các Button3_Click sự kiện:
      '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. Trong các bước sau đây, liệt kê các mục được chứa trong bộ sưu tập HashTable.
    1. Thêm một Nút điều khiển để Form1 và thay đổi các Văn bản bất động sản để Kê khai.
    2. Bấm đúp chuột vào nút, và dán mã sau đây trong các Button4_Click sự kiện:
      Dim Enumerator As IDictionaryEnumeratorEnumerator = 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 WhileEnd IfDim MyKeys As ICollectionDim Key As ObjectIf (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)     NextEnd If 							
      Mã này tuyên bố một biến loại IDictionaryEnumerator và các cuộc gọi các GetEnumerator phương pháp thu thập HashTable. Với các Số đếm trở về, các mã liệt kê thông qua các khoản mục trong bộ sưu tập và sử dụng các Phím phương pháp của các HashTable liệt kê thông qua các phím.
  11. Trong các bước sau đây, sử dụng các Rõ ràng phương pháp để xóa các HashTable.
    1. Thêm một Nút điều khiển để Form1 và thay đổi các Văn bản bất động sản để Rõ ràng.
    2. Bấm đúp chuột vào nút, và dán mã sau đây trong các Button5_Click sự kiện:
      MyTable.Clear()MessageBox.Show("HashTable is now empty")						
  12. Thực hiện theo các bước sau để xây dựng và chạy các ứng dụng:
    1. Nhấp vào Thêm các khoản mục. Lưu ý rằng ba Người các đối tượng được bổ sung vào bộ sưu tập HashTable.
    2. Nhấp vào Nhận được ghi. Lưu ý rằng các indexer lấy được các khoản mục trong bộ sưu tập HashTable. Ba mới được thêm vào mục được hiển thị.
    3. Nhấp vào Loại bỏ khoản mục. Lưu ý rằng mục tại vị trí chủ chốt "Berge" sẽ bị xóa.
    4. Nhấp vào Kê khai. Lưu ý rằng IDictionaryEnumerator liệt kê thông qua các khoản mục trong bộ sưu tập HashTable.
    5. Nhấp vào Rõ ràng. Lưu ý rằng tất cả các mục được xóa từ bộ sưu tập HashTable.
LƯU Ý: Các ví dụ các công ty, tổ chức, sản phẩm, tên miền, địa chỉ e-mail, biểu trưng, người, địa điểm và các sự kiện được miêu tả ở đây là hư cấu. Không có liên kết với bất kỳ công ty thực sự, tổ chức, sản phẩm, tên miền, địa chỉ email, biểu tượng, người, địa điểm hoặc sự kiện này được dự định hoặc nên được suy ra.

back to the top
Hãy thử... bắt

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 307933 - Xem lại Lần cuối: 08/27/2011 18:01:00 - Bản sửa đổi: 2.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB307933 KbMtvi
Phản hồi