Cách sử dụng từ điển trong C #
Từ điển là một cấu trúc dữ liệu hữu ích cho phép bạn lưu trữ các cặp khóa-giá trị. Bạn có thể truy cập một cách hiệu quả một giá trị từ từ điển bằng cách sử dụng khóa của nó.
Các từ điển trong C # hỗ trợ các hành động như loại bỏ một giá trị hoặc lặp lại trên toàn bộ tập hợp các giá trị.
Mục Lục
Từ điển trong C # là gì?
Từ điển AC # là một trong những cấu trúc dữ liệu quan trọng nhất mà bạn có thể tìm hiểu. Nó hơi giống với cấu trúc dữ liệu Java HashMap. Các khóa của nó phải là duy nhất, nhưng chúng có thể thuộc hầu hết mọi loại. Một từ điển đơn giản sử dụng các giá trị vô hướng.
Ví dụ: tập dữ liệu này có ID của vật nuôi làm khóa và tên của vật nuôi làm giá trị:
{1001, "Mia"},
{1002, "Oscar"},
{1003, "Birdie"},
{1004, "Bluey"},
{1005, "Leo"},
{1006, "Travis"}
Cấu trúc này cho phép bạn truy cập dữ liệu bằng cách sử dụng khóa cụ thể tham chiếu đến một bản ghi. Ví dụ: bạn có thể truy xuất bản ghi với giá trị Birdie bằng cách tham chiếu nó với khóa tra cứu 1003.
Cách tạo từ điển
Để tạo từ điển, bạn cần chỉ định loại đối tượng cho cả khóa và giá trị.
- Tạo từ điển. Trong ví dụ này, khóa là một số nguyên và giá trị cho mỗi bản ghi là một chuỗi.
Dictionary<int, string> pets = new Dictionary<int, string>(); - Bạn sẽ cần sử dụng System.Collections.Generic không gian tên chứa lớp Từ điển. Đảm bảo bạn làm như vậy ở đầu tệp của mình:
using System.Collections.Generic;
Cách thêm các mục vào từ điển
Bạn có thể thêm các mục vào từ điển trong hoặc sau khi khởi tạo.
- Bạn có thể thêm các mục trong khi khởi tạo từ điển. Để làm như vậy, hãy thêm một số giá trị trong dấu ngoặc nhọn sau câu lệnh Từ điển mới ban đầu.
Dictionary<int, string> pets = new Dictionary<int, string>()
{
{1001, "Mia"},
{1002, "Oscar"},
{1003, "Birdie"},
{1004, "Bluey"},
{1005, "Leo"},
{1006, "Travis"}
}; - Nếu bạn đã tạo từ điển, bạn có thể sử dụng phương thức Add () có sẵn của từ điển.
pets.Add(1007, "Snowy");
Bạn không thể thêm giá trị cho một khóa đã tồn tại. Nếu bạn cố gắng làm như vậy, bạn sẽ nhận được ArgumentException.
Bạn không thể sử dụng một vô giá trị giá trị làm khóa cho một mục nhập trong từ điển. Tuy nhiên, bạn có thể lưu trữ giá trị null trong từ điển.
Cách thêm đối tượng vào từ điển
Nếu bạn đang sử dụng phong cách lập trình hướng đối tượng, bạn có thể có ít nhất một lớp mà bạn sử dụng để tạo các đối tượng. Giả sử bạn có một lớp học lưu trữ thông tin chi tiết về vật nuôi:
Bạn có thể thêm các đối tượng được tạo từ lớp này vào từ điển.
- Đảm bảo rằng bạn tạo từ điển với loại đối tượng Pet được chỉ định cho giá trị.
Dictionary<int, Pet> petObjects = new Dictionary<int, Pet>(); - Tạo đối tượng thú cưng của bạn.
Pet mia = new Pet(1001, "Mia", new DateTime(2010, 6, 29), 9.0,
new DateTime(2022, 05, 02)); - Thêm đối tượng vật nuôi mới vào từ điển.
petObjects.Add(1001, mia);
Cách truy cập một mục trong từ điển
Bạn có thể truy cập một mục trong từ điển bằng Khóa.
- Sử dụng tên biến cho từ điển, theo sau là khóa xung quanh một cặp dấu ngoặc vuông. Thao tác này sẽ trả về đối tượng được lưu trữ trong phần cụ thể đó của từ điển.
var pet = petObjects[1001];
Console.WriteLine(pet.name);
Cách Lặp lại Từ điển
Bạn có thể sử dụng một cho mỗi vòng lặp để lặp qua từ điển:
- Sử dụng foreach để lặp lại từng KeyValuePair trong từ điển. Giả sử bạn đã gọi trình lặp của mình lối vàobạn có thể truy cập khóa và giá trị bằng cách sử dụng entry.Key và entry.Value.
foreach (KeyValuePair<int, Pet> entry in petObjects)
{
Console.WriteLine(entry.Key);
Console.WriteLine(entry.Value.name);
}
Cách cập nhật một mục trong từ điển
Bạn có thể cập nhật một mục bằng cách ghi đè giá trị của nó trong từ điển.
- Nếu bạn có các loại đối tượng đơn giản trong từ điển của mình, bạn có thể ghi đè trực tiếp giá trị của bản ghi.
pets[1001] = "Maya"; - Nếu bạn đã thêm các đối tượng vào từ điển của mình, bạn có thể ghi đè một giá trị vào một đối tượng hoàn toàn mới.
Pet bunny = new Pet(1001, "Bunny", new DateTime(2021, 8, 1), 3.0, new DateTime(2021, 8, 4));
petObjects[1001] = bunny; - Nếu bạn có một đối tượng trong từ điển, bạn cũng có thể cập nhật một thuộc tính duy nhất. Bạn có thể ghi đè trực tiếp giá trị của thuộc tính hoặc sử dụng bộ định giá.
petObjects[1001].name = "Maya";
petObjects[1001].setName("Maya");
Cách xóa một mục trong từ điển
Bạn có thể chọn xóa một mục duy nhất hoặc tất cả các mục.
- Để xóa một mục, hãy sử dụng phương thức Remove () có sẵn của từ điển. Nhập khóa của bản ghi bạn muốn xóa làm đối số.
petObjects.Remove(1002); - Để xóa tất cả các mục trong từ điển, hãy sử dụng phương thức Clear () tích hợp sẵn của từ điển
petObjects.Clear();
Cấu trúc dữ liệu trong C #
Hướng dẫn này bao gồm cách tạo từ điển trong C # và cách thêm các mục vào từ điển. Ngoài ra, nó cũng đề cập đến cách cập nhật, xóa và lặp qua từ điển.
Nếu bạn muốn cải thiện vốn từ vựng về cấu trúc dữ liệu của mình, bạn có thể bắt đầu khám phá các cấu trúc dữ liệu nâng cao hơn. Một số ví dụ trong số này bao gồm Fibonacci Heap, AVL Tree hoặc Red Black Tree.
Đọc tiếp
Giới thiệu về tác giả