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
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));
}
}
Book, BagLuyệ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.
- Sắp xếp theo khóa được chọn Sắp xếp mọi người theo tên hoặc theo tuổi bằng một comparer được chọn khi chạy, đồng thời phá vỡ các trường hợp bằng nhau một cách nhất quán. Dễ
- Above-Average Values Keep the values that are greater than the average. Dễ