Biểu thức Lambda

Một phần của tài liệu Đồ án kỹ sư II Tìm hiểu công nghệ LINQ và ứng dụng (Trang 28 - 29)

V. LINQ và các kiểu có chung đặc điểm

V.6.2 Biểu thức Lambda

Trong ví dụ trước, chú ý rằng các biểu thức điều kiện (num% 2 == 0) là thông qua như là một trong những đối số của phương thức where: Where (num => num% 2 == 0). Biểu thức trong ngoặc được được gọi là biểu thức lambda. Đó là một phương thức nặc danh có thể chứa đựng những biểu thức và các phát biểu và có thể sử dụng để tạo một ủy nhiệm chung hoặc một biểu thức cây. Trong C # => là toán tử lambda, được đọc như "goes to". Các num bên trái của các toán tử là yếu tố đầu vào biến đó tương ứng với num

trong biểu thức truy vấn. Trình biên dịch có thể nhận kiểu num bởi vì nó biết rằng

numbers là một kiểu chung IEnumerable (T). Toán tử lambda chỉ giống như các biểu thức trong cú pháp truy vấn hay trong biểu thức C # hoặc câu lệnh; nó có thể bao gồm cả

Sinh viên thực hiện Nguyễn Văn Thụy & Hoàng Mạnh Giỏi Trang 29

các lần gọi phương thức và các phương thức logic phức tạp. The "trả về giá trị" chỉ là các biểu thức kết quả.

Để bắt đầu sử dụng LINQ, bạn không sử dụng lambdas nhiều. Tuy nhiên, một số truy vấn chỉ có thể được thể hiện trong cú pháp phương thức và một số yêu cầu của những biểu thức lambda. Sau khi bạn trở nên quen thuộc với lambdas, bạn sẽ thấy rằng nó là một công cụ mạnh mẽ và linh hoạt trong LINQ của bạn.

Trong doạn mã ví dụ trước, không phải phương thức OrderBy là dẫn chứng bằng cách sử dụng dấu chấm để gọi tới where. Where đưa ra trình tự lọc, và sau đó Orderby

có tác dụng sắp xếp trình tự đó. Bởi vì các truy vấn trở trả về một IEnumerable, bạn soạn chúng trong cú pháp phương thức xích các lần gọi phương thức lại với nhau. Đây là những gì trình biên dịch làm ở dăng sau hiện trường khi bạn viết truy vấn bằng cách sử dụng cú pháp truy vấn. Và bởi vì một truy vấn biến không lưu trữ các kết quả của câu truy vấn, bạn có thể thay đổi nó hay sử dụng nó như là cơ sở cho một truy vấn mới bất kỳ lúc nào, ngay cả sau khi nó đã được thực hiện.

Một phần của tài liệu Đồ án kỹ sư II Tìm hiểu công nghệ LINQ và ứng dụng (Trang 28 - 29)

Tải bản đầy đủ (PDF)

(122 trang)