List và Dictionary trong C#
Trong bài học này, bạn sẽ lưu dữ liệu có thứ tự với List và dữ liệu dạng khóa và giá trị với Dictionary trong C#.
Giới thiệu
Khác với mảng có độ dài cố định, các collection generic như List<T> và Dictionary<TKey, TValue> tự mở rộng khi bạn thêm dữ liệu. Phần trong cặp ngoặc nhọn cho biết kiểu dữ liệu được lưu, nhờ đó trình biên dịch đảm bảo không có giá trị sai kiểu nào bị thêm vào.
Dictionary scores lưu điểm của từng người theo tên, và câu lệnh scores["Grace"] = 92 thêm một cặp khóa và giá trị mới. Phương thức TryGetValue tìm giá trị theo khóa và trả về false thay vì gây lỗi khi khóa không tồn tại. Kết quả tìm được đưa ra qua biến out int score và được in ra là 92.
Xem cách hoạt động
Dùng các nút để thay đổi danh sách và xem chỉ số cập nhật. Kéo start và stop để xem slice lấy những phần tử nào.
Ví dụ C# chạy được
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var scores = new Dictionary<string, int> { ["Ada"] = 95, ["Lin"] = 88 };
scores["Grace"] = 92;
if (scores.TryGetValue("Grace", out int score))
Console.WriteLine(score);
}
}
92Luyện tập với trình gỡ lỗi
Luyện tập với thử thách
Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.
- Tần suất ký tự Đếm số lần xuất hiện của mỗi ký tự. Dễ
- Loại Bỏ Phần Tử Trùng Lặp Chỉ giữ lại lần xuất hiện đầu tiên của mỗi giá trị. Dễ