Hashtable là gì

 - 

Dẫn nhập

Ở các bài học trước, họ đã cùng cả nhà mày mò về ARRAYLIST TRONG C#. Hôm ni bọn họ đang thuộc khám phá về Hashtable trong C#.

Bạn đang xem: Hashtable là gì

Nội dung

Để hiểu gọi bài xích này rất tốt các bạn đề xuất tất cả kỹ năng và kiến thức cơ phiên bản về những phần:

Trong bài học kinh nghiệm này, bọn họ đang thuộc tò mò những vấn đề:

Hashtable là gì?Một số nằm trong tính cùng cách thức cung ứng sẵn vào Hashtable.

Hashtable là gì?

Hashtable vào C#:

Là một Collections lưu trữ dữ liệu dưới dạng cặp Key - Value.

Key thay mặt cho một khoá giống hệt như chỉ số bộ phận của mảng và Value đó là giá trị tương xứng của khoá đó.Ta sẽ dử dụng Key để truy vấn cho Value khớp ứng.

Key Value đa số là loại object nên ta hoàn toàn có thể tàng trữ được hầu hết kiểu dữ liệu từ bỏ rất nhiều giao diện cơ sở mang đến hình dáng phức tạp(class).

Nếu những Key của Hashtable là những số nguim tăng vọt tự 0 thì Hashtable nhìn trông kiểu như ArrayList (chỉ là giống về bề ngoài thôi chứ bên phía trong siêu không giống nhau).

Do Hashtable là 1 trong Collections bắt buộc để áp dụng ta đề nghị thêm tlỗi viện System.Collections bằng câu lệnh:

using System.Collections;

Vì Hashtable là một trong lớp buộc phải trước khi áp dụng ta yêu cầu khởi chế tạo ra vùng lưu giữ bởi toán tử new:

// khởi chế tạo ra 1 Hashtable rỗngHashtable MyHash = new Hashtable(); quý khách cũng đều có hướng dẫn và chỉ định sức cất (Capacity) ngay lúc khởi sản xuất bằng phương pháp trải qua constructor được cung ứng sẵn:

// khởi chế tạo ra 1 Hashtable cùng hướng dẫn và chỉ định Capađô thị lúc đầu là 5Hashtable MyHash2 = new Hashtable(5); Dường như chúng ta cũng có thể khởi tạo nên 1 Hashtable đựng các phần tử được xào luộc xuất phát từ một Hashtable khác:

/* * Khởi chế tạo ra 1 Hashtable gồm form size bởi với MyHash2. * Sao chnghiền toàn độ bộ phận vào MyHash2 vào MyHash3. */ Hashtable MyHash3 = new Hashtable(MyHash2);

Một số ở trong tính với thủ tục cung ứng sẵn vào Hashtable

Một số trực thuộc tính thường dùng trong Hashtable:

TÊN THUỘC TÍNH

Ý NGHĨA

Count

Trả về một số ít nguyên ổn là số phần tử hiện tất cả trong Hashtable.

Keys

Trả về 1 danh sách chứa những Key trong Hashtable.

Values

Trả về 1 danh sách chứa các Value trong Hashtable.

Một số cách tiến hành thường dùng vào Hashtable:

TÊN PHƯƠNG THỨC

Ý NGHĨA

Add(object Key, object Value)

Thêm 1 cặp Key - Value vào Hashtable.

Clear()

Xoá tất cả các thành phần trong Hashtable.

Clone()

Tạo 1 phiên bản sao tự Hashtablehiện giờ.

ContainsKey(object Key)

Kiểm tra đối tượng người tiêu dùng Key có trường thọ trong Hashtablehay là không.

Xem thêm: Rối Loạn Men Gan Cao Nên Ăn Gì, Men Gan Cao Và Cách Giảm Không Cần Thuốc

ContainsValue(object Value)

Kiểm tra đối tượng Value gồm vĩnh cửu vào Hashtablehay không.

CopyTo(Array array, int Index)

Thực hiện xào luộc tất cả bộ phận vào Hashtablethanh lịch mảng một chiều array trường đoản cú vị trí Index của array.

Lưu ý: array nên là mảng những object hoặc mảng những DictionaryEntry.

Remove(object Key)

Xoá đối tượng người sử dụng gồm Key lộ diện trước tiên trong Hashtable.

Một số chú ý về Hashtable

Mỗi một trong những phần tử vào Hashtable (bao gồm một cặp Key - Value) được C# quan niệm là 1 trong đối tượng bao gồm mẫu mã DictionaryEntry. Trong DictionaryEntry tất cả 2 trực thuộc tính chính:

Key: trả về quý hiếm Key của bộ phận hiện thời.Value: trả về giá trị Value của bộ phận hiện thời.

Ví dụ:bản thân demo sử dụng foreach xem xét 1 Hashtable cùng in ra cực hiếm Key – Value của từng phần tử:

// Tạo một Hashtable đơn giản dễ dàng với 3 phần tử Hashtable hash = new Hashtable(); hash.Add("K", "Kteam"); hash.Add("H", "wesave.vn"); hash.Add("FE", "Free Education"); /* * Duyệt qua những bộ phận trong Hashtable. * Vì mỗi bộ phận là một trong DictionaryEntry yêu cầu ta chỉ định và hướng dẫn giao diện tài liệu đến item là DictionaryEntry luôn. * Thử in ra màn hình cặp Key - Value của mỗi phần tử được coi sóc. */ foreach (DictionaryEntry cống phẩm in hash) Console.WriteLine(chiến thắng.Key + " " + nhà cửa.Value); Kết quả:

*

Việc truy vấn xuất các thành phần trong Hashtable hệt như truy vấn xuất những phần tử mảng cơ mà trải qua Key.Ví dụ:

Console.WriteLine(MyHash<"One">);Trong đó:

MyHash là tên của Hashtable.Onelà tên gọi Key đề nghị truy hỏi xuất.MyHash<"One"> vẫn lấy ra giá trị Value khớp ứng cùng với Key bên trên.

Ta phải cẩn thận Khi truy vấn xuất những thành phần vào Hashtablethông qua Key:

Nếu ta tiến hành rước cực hiếm một trong những phần tử trong Hashtablecùng với Key ko tồn tại thì đang ra giá trị null với ko báo lỗi.Nếu ta triển khai gán quý giá cho một phần tử vào Hashtabletại vị trí Key ko trường tồn thì Hashtablesẽ trường đoản cú thêm một phần tử bắt đầu cùng với Key Value như trên. Như vậy hoàn toàn có thể làm cho tạo nên thêm những phần tử không mong muốn trong list.

Ví dụ:

// In ra screen cực hiếm Value trong một Key ko trường thọ. Console.WriteLine(hash<"VT">); // Để chắc chắn là là null ta demo soát sổ bằng điều kiện if. if (hash<"VT"> == null) Console.WriteLine("Key "VT" is not exists"); // Thử in ra số bộ phận ban đầu của Hashtable Console.WriteLine(" Count: " + hash.Count); foreach (DictionaryEntry tác phẩm in hash) Console.WriteLine(tòa tháp.Key + " " + sản phẩm.Value); // thực hiện gán giá trị cho 1 Key ko mãi sau. hash<"Kt"> = "Kter"; // tiến hành in lại số phần tử của Hashtable giúp thấy sự đổi khác. Console.WriteLine(" Count: " + hash.Count); foreach (DictionaryEntry tác phẩm in hash) Console.WriteLine(công trình.Key + " " + item.Value); Kết quả:

*

Kết luận

Nội dung bài xích này giúp các bạn chũm được:

Hashtable là gì?Một số ở trong tính cùng phương thức cung ứng sẵn vào Hashtable.

Bài học tập sau bọn họ sẽ cùng khám phá về SORTEDLIST TRONG C#.

Xem thêm: 9X Là Gì? Đặc Điểm Phân Biệt Thế Hệ 9X Là Gì Ký Hiệu Viết Tắt Của Các Thế Hệ Việt Nam

Cảm ơn chúng ta vẫn theo dõi nội dung bài viết. Hãy giữ lại comment hoặc góp ý của chính bản thân mình nhằm trở nên tân tiến bài viết giỏi rộng. Đừng quên “Luyện tập – Thử thách – Không trinh nữ khó”.


Chuyên mục: Chia sẻ