C# cơ bản

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

C#
Chạy code →
Program.cs
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);
    }
}
Kết quả khi chạy
92

Luyện tập với trình gỡ lỗi

Đặt breakpoint ở một phép gán hoặc điều kiện quan trọng, bấm Debug và xem giá trị các biến cục bộ (local variable) trước khi bước sang dòng tiếp theo.

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ất cả thử thách