Giới thiệu HashTable trong C#
Hôm nay, mình xin giới thiệu các bạn cơ bản về HashTable trong C#. Vậy Hash Table là gì? và chúng được sử dụng như thế nào. I. HashTable là gì? HashTable là một kiểu dữ liệu danh sách dùng để lưu dữ liệu theo một từ khóa và giá trị của nó. ...
Hôm nay, mình xin giới thiệu các bạn cơ bản về HashTable trong C#. Vậy Hash Table là gì? và chúng được sử dụng như thế nào.
I. HashTable là gì?
HashTable là một kiểu dữ liệu danh sách dùng để lưu dữ liệu theo một từ khóa và giá trị của nó.
– Muốn sử dụng được HashTable bạn cần phải khai báo Thư viện Collection.
Với HashTabel, dữ liệu luôn đi kèm một cặp [Key – Value].
– Về cơ bản, HashTable có tính năng tương tự như Dictionary. Tuy nhiên với Dictionary ta cần phải khai báo kiểu dữ liệu cho Key và Value còn HashTable thì không cần thiết.
Với HashTable, ta có thể thêm dữ liệu thông qua Key và lấy dữ liệu thông qua Key một cách dễ dàng hơn rất nhiều nếu dùng các kiểu dữ liệu khác.
II. Cách sử dụng:
Cần phải thêm thư viện vào chương trình trước:
using System.Collections;
Đây là phần tạo và thêm những phần tử vào trong HashTable:
var hashTable = new Hashtable();
hashTable.Add(“lapKan”, “Website tham khảo lập trình”);
hashTable.Add(“Author”, “Huygamer”);
hashTable.Add(“HoTen”, “Nguyễn Ngọc Huy”);
String lk = “lapKan của Author”;
foreach (DictionaryEntry item in hashTable)
{
lk = lk.Replace(item.Key.ToString(), item.Value.ToString());
}
Ta sẽ có kết quả là:
Website tham khảo lập trình của Huygamer
III. Các thuộc tính của HashTable:
1. Truy xuất một phần từ bất kỳ trong HashTable thông qua từ khóa (Key);
txtThongBao.Text = hashTable[“HoTen”].ToString();
2. Xóa một phần tử trong HashTable:
HashTable.Remove(“HoTen”);
3. Kiểm tra phần tử trong HashTable thông qua ContainsKey và ContainsValue:
hashTable.ContainsKey(“HoTen”);
hashTable.ContainsValue(“lapKan”);
4. Kiểm tra số lượng và làm mới HashTable:
– Chúng ta có thể kiểm tra số lượng phần tử trong danh sách thông qua hàm Count.
txtThongBao.Text = “Số lượng phần tử: ” + hashTable.Count.ToString();
– Chúng ta cũng có thể xóa sạch HashTable bằng hàm Clear():
hashTable.Clear();
5. Tạo ra một phiên bản của HashTable thông qua ham Clone();
var cloneHashTable = hashTable.Clone();
=> Tuy nhiên cần phải lưu ý cloneHashTable không phải là một HashTable mà là một object và object này không thể sử dụng được. Ứng dụng của nó là bạn có thể sử dụng nó như một bản lưu trữ mà không phải truy vấn ngược lại hashTable trước đó.
var cloneHashTable = hashTabel.Clone();
hashTable.Remove(“HoTen”);
hashTable.Clear();
hashTable = (HashTable)cloneHashTable;
Bạn sẽ có lại một HashTable như ban đầu mà không cần phải khởi tạo lại hay moi dữ liệu từ database. Đây là một tính năng khá hay của các danh sách (Collection).
* Lưu ý: Bạn clone là bạn tạo bản sao của HashTable chứ không phải là nội dung bên trong nó.