Từ điển nhiều khóa python

Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu về DANH SÁCH TRONG C#. hôm nay chúng ta sẽ cùng tìm hiểu về Dictionary trong C#


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến ​​thức cơ bản về các phần

Trong bài học này, chúng ta sẽ cùng nhau tìm hiểu các vấn đề

  • Từ điển là gì?
  • Một số thuộc tính và phương thức hỗ trợ có sẵn trong Dictionary

Từ điển là gì?

Tương tự như List, Dictionary chính là sự thay thế cho Collections Hashtable đã được học. Cho nên về khái niệm hay sử dụng thì Dictionary đều sẽ giống Hashtable

Từ điển trong C# là một Bộ sưu tập lưu trữ dữ liệu dưới dạng cặp Khóa - Giá trị. Chìa khóa đại diện cho 1 khóa giống như chỉ số phần tử của mảng và Giá trị chính là giá trị tương ứng của khóa đó. Ta sẽ sử dụng Key để truy cập Value tương ứng

Do Dictionary is 1 Generic Collections should to use ta cần thêm thư viện System. bộ sưu tập. Generic by command

sử dụng Hệ thống. bộ sưu tập. Chung;

Vì Dictionary là một lớp nên trước khi sử dụng ta cần khởi động vùng nhớ bằng toán tử mới

// khởi tạo 1 Dictionary rỗng với Key và Value đều có kiểu dữ liệu là chuỗi.
Dictionary MyHash = new Dictionary(); 

You also have only power contain (Dung lượng) ngay lúc khởi động bằng cách thông qua constructor được hỗ trợ sẵn

/* 
 * khởi tạo 1 Dictionary với Key và Value có kiểu chuỗi 
 * đồng thời chỉ định Capacity ban đầu là 5
 */
Dictionary MyDic2 = new Dictionary(5);
 

Ngoài ra, bạn cũng có thể khởi tạo 1 Từ điển bao gồm các phần tử được sao chép từ một Từ điển khác

/*
 * Khởi tạo 1 Dictionary có kích thước bằng với MyDic2.
 * Sao chép toàn độ phần tử trong MyDic2 vào MyDic3.
 */
Dictionary MyDic3 = new Dictionary(MyDic2);

Một số thuộc tính và phương thức hỗ trợ có sẵn trong Dictionary

Một số thuộc tính thông tin ứng dụng trong Từ điển

TEN THUỘC TÍNH

Ý NGHĨA

Đếm

Trả về 1 integer là phần tử hiện có trong Dictionary

chìa khóa

Trả về 1 danh sách chứa các Key trong Dictionary

giá trị

Trả về 1 danh sách chứa các Giá trị trong Từ điển

Một số phương thức thông tin ứng dụng trong Từ điển

TÊN PHƯƠNG TIỆN

Ý NGHĨA

Thêm (Khóa TKey, Giá trị TValue)

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

Xa lạ()

Xóa tất cả các phần tử trong Dictionary

ChứaKey(Khóa TKey)

Kiểm tra đối tượng Khóa đã tồn tại trong Từ điển hay không

ChứaValue(TValue Giá trị)

Kiểm tra đối tượng Giá trị tồn tại trong Từ điển hay không

Xóa (Phím TKey)

Xoá các đối tượng có khóa xuất hiện đầu tiên trong Dictionary

TryGetValue(Khóa TKey, Giá trị TValue)

  Kiểm tra khóa có tồn tại hay không.
  Nếu có sẽ trả về đúng đồng thời trả về giá trị Giá trị tương ứng với giá trị biến.
  Recount return false.


A number save on Dictionary

Mỗi phần tử trong Dictionary (bao gồm 1 cặp Key - Value) được C# định nghĩa là 1 đối tượng có kiểu

KeyValuePair

Trong đó, có 2 thuộc tính chính

  • Chìa khóa. return value Key of the current section
  • Giá trị. return value Giá trị của phần tử hiện tại

Điều này tương tự như DictionaryEntry trong Hashtable. Vì thế cách sử dụng cũng tương tự. Ví dụ mình thử dùng foreach duyệt 1 Dictionary và in ra giá trị Key – Value của mỗi phần tử

// Tạo 1 Dictionary đơn giản và thêm vào 3 phần tử.
Dictionary MyDic4 = new Dictionary();
MyDic4.Add("FE", "Free Education");
MyDic4.Add("K", "Kteam");
MyDic4.Add("HK", "HowKteam");

/* 
 * Duyệt qua các phần tử trong Dictionary.
 * Vì mỗi phần tử là 1 KeyValuePair nên ta chỉ định kiểu dữ liệu cho item là KeyValuePair luôn.
 * Thử in ra màn hình cặp Key - Value của mỗi phần tử được duyệt.
 */
foreach (KeyValuePair item in MyDic4)
{
    Console.WriteLine(item.Key + "\t" + item.Value);
}

Kết quả

Từ điển nhiều khóa python

Truy xuất các phần tử trong Từ điển giống như truy xuất các phần tử của mảng nhưng thông qua Key

Ví dụ

Console.WriteLine(MyDic4["FE"]);

in which

  • MyDic4 là tên của từ điển
  • "FE" is name Keycần truy xuất. Lưu ý phải giống kiểu dữ liệu TKey đã được định sẵn khi khởi động Dictionary
  • MyHash["FE"] sẽ lấy giá trị Value tương ứng với Key trên

Khi thao tác với Hashtable nếu như truy xuất đến phần tử có Key không tồn tại sẽ không báo lỗi (chi tiết mình trình bày trong bài HASHTABLE trong C#) nhưng với Dictionary thì không phải vậy. If ta query output to Key does not own at thì lỗi sẽ nhận được sau

Từ điển nhiều khóa python


Khác biệt giữa Dictionary và HashTable trong C#

BẢNG BẮT ĐẦU

TỪ ĐIỂN

Threadsafe - Hỗ trợ đa luồng không
  sử dụng tài nguyên

Unsupported

Cặp Key - Value lưu kiểu đối tượng Phải xác định cụ thể kiểu dữ liệu của cặp Key - valueTruy xuất phần tử không tồn tại trong Hashtable
sẽ không báo lỗi suy ra return null.

Truy xuất phần tử không tồn tại trong Từ điển
sẽ báo lỗi

Hiệu quả cho dữ liệu lớnKhông có hiệu quả cho dữ liệu lớnCác phần tử được sắp xếp lại mỗi khi thêm hoặc xóa
các phần tử trong Hashtable. Các phần tử theo thứ tự được thêm vào. Tìm kiếm nhanh hơn. Tìm kiếm chậm hơn.

Nội dung bài viết này giúp các bạn nắm bắt được

  • Từ điển là gì?
  • Sự khác nhau giữa Dictionary và HashTable
  • Một số thuộc tính và phương thức hỗ trợ có sẵn trong Dictionary

Bài học sau chúng ta sẽ cùng tìm hiểu về TUPLE TRONG C#

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc đóng góp ý kiến ​​của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không sợ khó”


Load down

Dự định

Nếu công việc thực hiện theo hướng dẫn không thể hiện ra các phần như mong muốn. Bạn cũng có thể tải xuống DỰ ÁN THAM KHẢO ở liên kết bên dưới

Từ điển nhiều khóa python


Thảo luận

Nếu bạn gặp bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam. com to get the support from the community