Bài tập C#

Danh sách công việc với List<T> trong C#

Trong bài học này, bạn sẽ quản lý danh sách công việc bằng record và List<T>, rồi lọc ra những việc chưa hoàn thành.

Giới thiệu

Record và collection generic như List<T> là cách gọn gàng để xây dựng mô hình dữ liệu trong bộ nhớ. Mỗi công việc được biểu diễn bằng một record có tiêu đề và trạng thái hoàn thành, còn List<TaskItem> lưu tất cả các công việc.

Phương thức FindAll nhận một điều kiện dạng lambda và trả về danh sách mới chỉ gồm các công việc thỏa mãn, ở đây là các việc có Done bằng false. Kết quả vẫn là các đối tượng TaskItem đầy đủ kiểu dữ liệu, nên có thể dùng task.Title ngay. Chương trình in ra Learn events.

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;
record TaskItem(string Title, bool Done);
class Program
{
    static void Main()
    {
        var tasks = new List<TaskItem> { new("Learn LINQ", true), new("Learn events", false) };
        foreach (var task in tasks.FindAll(task => !task.Done)) Console.WriteLine(task.Title);
    }
}
Kết quả khi chạy
Learn events

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