Lớp Hashtable trong C#

0
553

Các lớp Hashtable đại diện cho một bộ sưu tập các cặp khóa-giá trị và được tổ chức dựa trên các mã băm của khoá. Nó sử dụng  khóa để truy cập vào các thành phần trong bộ sưu tập.

Một bảng băm được sử dụng khi bạn cần truy cập vào các phần tử bằng cách sử dụng khóa, và bạn có thể xác định một giá trị quan trọng hữu ích. Mỗi phần tử trong bảng băm có một cặp khóa / giá trị. Các khóa được sử dụng để truy cập vào các phần tử trong bộ sưu tập.

Phương thức và thuộc tính của lớp Hashtable

Bảng sau đây liệt kê một số tính chất thường được sử dụng của lớp Hashtable:

Thuộc tính Mô tả
Count Đếm số cặp key-và-giá trị chứa trong Hashtable.
IsFixedSize Kiểm tra Hashtable có phải là kích thước cố định.
IsReadOnly Kiểm tra Hashtable có phải là chỉ đọc.
Item Gets hoặc Sets giá trị liên quan đến khóa xác định.
Keys Gets một ICollection chứa các Key trong Hashtable.
Values Gets một ICollection chứa các giá trị trong Hashtable.

Bảng sau đây liệt kê một số phương thức thường được sử dụng của lớp Hashtable:

Sr.No. Method
1 public virtual void Add(object key, object value);

Thêm một phần tử với key đã xác định và giá trị vào bảng băm.

2 public virtual void Clear();

Loại bỏ tất cả các phần từ Hashtable.

3 public virtual bool ContainsKey(object key);

Xác định xem Hashtable có chứa một khóa cụ thể.

4 public virtual bool ContainsValue(object value);

Xác định xem Hashtable có chứa một giá trị cụ thể.

5 public virtual void Remove(object key);

Loại bỏ các phần tử với key đã xác định từ Hashtable.

Ví dụ

using System;
using System.Collections;

namespace CollectionsApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         Hashtable ht = new Hashtable(); //Tạo một bảng băm
         
         ht.Add("001", "Zara Ali");
         ht.Add("002", "Abida Rehman");
         ht.Add("003", "Joe Holzner");
         ht.Add("004", "Mausam Benazir Nur");
         ht.Add("005", "M. Amlan");
         ht.Add("006", "M. Arif");
         ht.Add("007", "Ritesh Saikia");
         
         if (ht.ContainsValue("Nuha Ali")) //Kiểm tra tồn tại
         {
            Console.WriteLine("Ten hoc sinh nay da ton tai");
         }
         else
         {
            ht.Add("008", "Nuha Ali");
         }
         
         // Lấy một bộ sưu tập các key.
         ICollection key = ht.Keys;
         
         foreach (string k in key)
         {
            Console.WriteLine(k + ": " + ht[k]);
         }
         
         Console.ReadKey();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Benazir Nur
005: M. Amlan
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali

Chúc bạn thành công!

This site uses Akismet to reduce spam. Learn how your comment data is processed.