- Biểu thức Lambda tương tự như phương thức anonymous, tuy nhiên nó ngắn gọn và linh hoạt hơn rất nhiều. Tất cả biểu thức lambda sử dụng toán tử  '=>' . Lambda đặc biệt hữu ích khi viết các truy vấn LINQ

- Để tạo một lambda expression, bạn chỉ định đầu vào parameters  ở phía bên trái của operator =>, và bạn đặt khối biểu hiện hoặc các tuyên bố ở phía bên kia.
 Xin đưa ra một ví dụ, lambda expression x => x * x quy định cụ thể một tham số có tên là x và trả về giá trị của x bình phương. Bạn có thể gán biểu thức này với một delegate, như ví dụ sau đây:

delegate int del(int i);
static void Main(string[] args)
{
del myDelegate = x => x * x;
int j = myDelegate(5); //j = 25
}

x => x * x : là biểu thức lambda.
 
- Mẫu cơ bản:
 A. Lambdas expression được sử dụng rộng rãi trong việc xây dựng Expression Trees (C# and Visual Basic). Một Lambdas expression trả về kết quả của biểu thức có dạng cơ bản sau đây:

 ex: (input parameters) => expression  //Truyền tham số => kết quả mong muốn

 B. Các ngoặc () là tùy chọn chỉ khi lambda có một tham số đầu vào. Hai hoặc nhiều thông số đầu vào được phân cách bằng dấu phẩy trong dấu ngoặc đơn. ví dụ dưới có một giá trị đầu vào và

ex: (x, y) => x == y

(x, y) =>
{
if (x > y)
return (x);
else
return (y);
}
 Và


Hoặc :



C. Đôi khi nó là khó khăn hoặc không thể cho trình biên dịch để suy ra các loại đầu vào. Khi điều này xảy ra, bạn có thể chỉ định loại một cách rõ ràng như trong ví dụ sau:
ex: (int x, string s) => s.Length > x



D. Xác định không có tham số đầu vào với dấu ngoặc rỗng:
ex: () => SomeMethod()



(Các mã trên thực hiện với delegate)

Lưu ý:  Cấu trúc của một lambda expression có thể bao gồm một phương pháp gọi (Mehod Call). Tuy nhiên, nếu bạn đang tạo Expression Trees sẽ được sử dụng trong phạm vi khác, chẳng hạn như SQL Server, bạn không nên sử dụng các cuộc gọi phương pháp trong các biểu thức lambda. Các phương pháp này sẽ không có ý nghĩa bên ngoài bối cảnh của .NET common language runtime. (CLR) hay nói cách khác nó chỉ dùng trong môi trường .NET.



- Biểu thức Lambda có thể được dùng ở đâu ?
   Bạn có thể dùng nó đđơn giản hóa dòng code của mình hoặc có thể dùng nó để thay thế phương thức anonymous và bất cư nơi đâu mà bạn khởi tạo Generic delegates. Đặc biệt là trong truy vấn LINQ.


- Thực hành với một smẫu:
 1. Mảng




2. Dùng với delegate Func (Func là một kiểu delegate mới)



Sẽ cập nhật sử dụng Lambda với LINQ sau.

thumbnail Lambda Expression in C#

data:label.name author

premiumpng.com

Design Publisher

Download 0
No comments
Template in .PSD format

MR Laboratory License

Free for personal purpose use . More info


Buy Now This Template

No comments:

Post a Comment

Commets Download Photoshop Actions, Lightroom Presets, PSD Template, Mockups, Stocks, Vectors, Fonts. Download free

Newer Post Older Post Home

Copyright © 2021 MR Laboratory All rights reserved.

Setting