Ngôn Ngữ LINQ - Toán Tử All, Any

Toán tử định lượng trong LINQ

Các toán tử định lượng đánh giá các phần tử của danh sách dựa trên một số điều kiện và trả về giá trị boolean để chỉ ra rằng một số hoặc tất cả các phần tử thỏa mãn điều kiện.

Bảng sau liệt kê tất cả toán tử định lượng có sẵn trong LINQ:

Toán tử Mô tả
All Kiểm tra nếu tất cả các phần tử trong danh sách thỏa mãn điều kiện đã chỉ định thì trả về true, ngược lại trả về false.
Any Kiểm tra nếu bất kỳ phần tử nào trong danh sách thỏa mãn điều kiện đã chỉ định thì trả về true, ngược lại trả về false.
Contains Kiểm tra nếu danh sách chứa một phần tử được chỉ định thì trả về true, ngược lại trả về false.

Toán tử định lượng là một trong những toán tử truy vấn chuẩn của LINQ.

Toán tử All trong LINQ

Toán tử All đánh giá từng phần tử trong tập hợp đã cho theo một điều kiện được chỉ định và trả về true nếu tất cả các phần tử thỏa mãn một điều kiện, ngược lại sẽ trả về false.

Ví dụ dưới đây minh họa sử dụng phương thức mở rộng All trong LINQ:

IList<Student> studentList = new List<Student>() { new Student() { StudentID = 1, StudentName = "John", Age = 13 }, new Student() { StudentID = 2, StudentName = "Moin", Age = 21 }, new Student() { StudentID = 3, StudentName = "Bill", Age = 18 }, new Student() { StudentID = 4, StudentName = "Ram", Age = 20 }, new Student() { StudentID = 5, StudentName = "Ron", Age = 15 } }; // checks whether all the students are teenagers bool areAllStudentsTeenAger = studentList.All(s => s.Age > 12 && s.Age < 20); Console.WriteLine(areAllStudentsTeenAger);

Đây là kết quả khi biên dịch và thực thi chương trình:

false

Xem ví dụ

Lưu ý: Toán tử All không hỗ trợ cú pháp truy vấn LINQ.

Toán tử Any trong LINQ

Toán tử Any kiểm tra xem bất kỳ phần tử nào trong danh sách đáp ứng điều kiện đã chỉ định hay không? Nếu có sẽ trả về true, ngược lại sẽ trả về false.

Trong ví dụ sau, phương thức mở rộng Any được sử dụng để kiểm tra xem có học sinh nào là thiếu niên hay không.

IList<Student> studentList = new List<Student>() { new Student() { StudentID = 1, StudentName = "John", Age = 13 }, new Student() { StudentID = 2, StudentName = "Moin", Age = 21 }, new Student() { StudentID = 3, StudentName = "Bill", Age = 18 }, new Student() { StudentID = 4, StudentName = "Ram", Age = 20 }, new Student() { StudentID = 5, StudentName = "Ron", Age = 15 } }; bool isAnyStudentTeenAger = studentList.Any(s => s.Age > 12 && s.Age < 20); Console.WriteLine(isAnyStudentTeenAger);

Đây là kết quả khi biên dịch và thực thi chương trình:

true

Xem ví dụ

Lưu ý: Toán tử Any không hỗ trợ cú pháp truy vấn LINQ.

Từ khóa » Cú Pháp Truy Vấn #hotrotructuyen #emailgopy