Bài tập C#

Lọc và chọn dữ liệu sản phẩm với LINQ trong C#

Trong bài học này, bạn sẽ xây dựng một chuỗi truy vấn LINQ để lọc, sắp xếp và lấy ra tên các sản phẩm thỏa mãn điều kiện.

Giới thiệu

Một truy vấn LINQ có thể kết hợp nhiều bước như lọc, sắp xếp và chọn dữ liệu (projection) thành một chuỗi xử lý liền mạch. Điều quan trọng là truy vấn không làm thay đổi danh sách gốc mà chỉ tạo ra kết quả mới.

Where giữ lại các sản phẩm có giá từ 20 trở lên, OrderBy sắp xếp chúng theo giá tăng dần, còn Select chỉ lấy ra tên sản phẩm. Kết quả là Book, Bag, trong khi mảng products ban đầu vẫn giữ nguyên cả ba sản phẩm.

Ví dụ C# chạy được

C#
Chạy code →
Program.cs
using System;
using System.Linq;
record Product(string Name, decimal Price);
class Program
{
    static void Main()
    {
        var products = new[] { new Product("Book", 30), new Product("Pen", 5), new Product("Bag", 45) };
        var names = products.Where(p => p.Price >= 20).OrderBy(p => p.Price).Select(p => p.Name);
        Console.WriteLine(string.Join(", ", names));
    }
}
Kết quả khi chạy
Book, Bag

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