Cú Pháp Phương Thức - Ngôn Ngữ LINQ
Có thể bạn quan tâm
Cú pháp phương thức LINQ sử dụng các phương thức mở rộng có trong hai lớp tĩnh là Enumerable hoặc Queryable, tương tự như cách bạn sẽ gọi các phương thức mở rộng của một lớp bất kỳ.
Lưu ý: Trình biên dịch sẽ chuyển đổi cú pháp truy vấn LINQ thành cú pháp phương thức LINQ tại thời điểm biên dịch.Ví dụ dưới đây minh họa một truy vấn sử dụng cú pháp phương thức LINQ trả về những chuỗi có chứa một từ "Tutorials".
// string collection IList<string> stringList = new List<string>() { "C# Tutorials", "VB.NET Tutorials", "Learn C++", "MVC Tutorials" , "Java" }; // LINQ Query Syntax var result = stringList.Where(s => s.Contains("Tutorials")).ToList(); foreach(var item in result) { Console.WriteLine(item); }Đây là kết quả khi biên dịch và thực thi chương trình trên:
C# Tutorials VB.NET Tutorials MVC TutorialsXem ví dụ
Hình dưới đây minh họa cấu trúc của cú pháp phương thức LINQ.
Như bạn có thể thấy trong hình trên, cú pháp phương thức LINQ bao gồm các phương thức mở rộng và biểu thức lambda. Phương thức mở rộng Where được định nghĩa trong lớp Enumerable.
Nếu bạn kiểm tra chữ ký của phương thức mở rộng Where, bạn sẽ thấy phương thức này chấp nhận một predicate delegate là Func<Student, bool>.
Điều này có nghĩa là bạn có thể truyền bất kỳ phương thức nào chấp nhận đối tượng Student làm tham số đầu vào và trả về giá trị Boolean như trong hình dưới đây.
Biểu thức lambda hoạt động như một delegate được truyền vào phương thức Where.
Ví dụ sau đây minh họa cách sử dụng cú pháp phương thức LINQ với danh sách IEnumerable<T>.
// Student collection 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 } }; // LINQ Method Syntax to find out teenager students var result = studentList.Where(s => s.Age > 12 && s.Age < 20) .ToList(); foreach(var item in result) { Console.WriteLine(item.StudentName); }Đây là kết quả khi biên dịch và thực thi chương trình trên:
John Bill RonXem ví dụ
Những điểm cần nhớ của cú pháp phương thức LINQ
- Cú pháp phương thức LINQ giống như gọi phương thức mở rộng.
- Cú pháp phương thức LINQ còn gọi là cú pháp thông thạo (fluent syntax) vì nó cho phép thực hiện hàng loạt các phương thức mở rộng.
- Biến được định kiểu ngầm định - var có thể được sử dụng để lưu trữ kết quả của truy vấn LINQ.
Từ khóa » Cú Pháp Truy Vấn #hotrotructuyen #emailgopy
-
[LINQ] Phần 6: Cú Pháp Truy Vấn Và Cú Pháp Phương Thức Trong ...
-
Cú Pháp Truy Vấn LINQ - Comdy
-
Toán Tử Truy Vấn Chuẩn Của LINQ - Comdy
-
Linq Trong Lập Trình C# .NET - Thực Hình Ví Dụ Linq
-
LINQ- Ngôn Ngữ Truy Vấn Tích Hợp Không Thể Không Biết
-
Ngôn Ngữ LINQ - Toán Tử All, Any
-
LINQ (Language Integrated Query) Trong C# | Tự Học ICT