CS21 - Biểu thức lambda, viết và sử dụng biểu thức lambda với delegate trong lập trình C# .NET Core
Ғылым және технология
Tìm hiểu về các biểu thức lambda, các hàm vô danh, định nghĩa phương thức với lambda, gán lambda cho Func và Action hxuanthulab.net/bieu-thuc-lamb... #xuanthulab #xuanthulabcsharp
00:00 Khái niệm về biểu thức lambda, cách viết biểu thức lambda
04:00 Gán biểu thức lambda cho biến kiểu delegate
14:19 Sử dụng lambda trong một số thư viện của .NET
THAM KHẢO CÁC LIST VIDEO:
- Lập trình C# : • LẬP TRÌNH C# - XUANTHU...
- Lập trình ASP.NET CORE MVC : • Lập trình ASP.NET MVC ...
☞ Subscribe : kzread.info?su...
Пікірлер: 29
Các bạn đăng ký theo dõi ủng hô kênh nhé, cảm ơn các bạn kzread.info
Sư phụ dạy rất dễ hiểu, một số kênh khác nói rất nhanh và lằng nhằng nhưng cách truyền đạt của sư phụ bình tĩnh và không gây rối, subcribe thôi mọi người!!!
Thầy giảng rất hay ạ. Cám ơn thầy
Cám ơn thầy. Bài giảng rất dễ hiểu
Cảm ơn thầy. Rất dễ hiểu ạ
anh em đã học callback và arrow func trong js qua học này nhanh cực
Rất dễ hiểu, cảm ơn bạn rất nhiều
Rất dễ hiểu. Mong a ra thêm nhiều video nữa
Rất dễ hiểu cảm ơn anh!
Cảm ơn anh, hay quá!
idol mãi đỉnh
Thanks ad ạ
Thanks
select == map, where == filter trong js có phải không thầy?
giống callback bên js quá
Mình vaò trang web... cần hỗ trợ.. gửi yêu cầu nhưng trang web bị lỗi thì phaỉ
Select() giống map trong js nhận vào 1 callback trả về 1 mảng mới sau khi biến đổi
@_LuongQuocHao
Жыл бұрын
delegate phải như callback ko ban,sao có mấy chỗ kêu delegate là con trỏ
@kynguyenphanle6296
8 ай бұрын
@@_LuongQuocHao Theo khái niệm của C++ thì nó là một con trỏ (function pointer), function pointer là một trong những khái niệm nhỏ bên trong chủ đề function object. Có thể hiểu function object nôm na như sau: Nó còn được gọi là Functor, tức là gọi đối tượng như một function, mà không cần phải tạo ra đối tượng từ lớp thông qua quá tải toán tử (). Khái niệm này xuất phát khi người ta đang triển khai với C++ để xây dựng tiền đề cho CallBack và cũng như std::binding,... Hiểu đơn giản rằng nó sẽ tạo ra 1 đối tượng tạm thời và triển khai phương thức cần thiết thông qua đối tượng tạm thời đó ngay tại thời điểm thực thi chương trình. Từ đó họ đã xây dựng ra function pointer để nó đúng ra không phải chỉ trỏ tới 1 hàm thông thường, mà rộng hơn là nó đang trỏ tới chính 1 function object, hay chi tiết hơn là có thể trỏ đến một phương thức của 1 đối tượng mà không cần tạo ra 1 đối tượng từ lớp tương ứng. Điều này cũng giống như std::binding trong C++, std::binding sẽ return hay còn có thể nói là được trỏ đến bởi 1 function pointer. Điều này càng khẳng định hơn khi lambdas expression là một function object và function pointer có thể handle cả được lambdas expression. Trong C# và cũng như JS thì con trỏ đã được hide đi để giảm thiểu việc gây lú trong lập trình, thay vào đó họ sẽ dùng tham trị và tham chiếu. Như vậy điều này cần phải có sự hình thành của object cụ thể, do đó khi đã khởi tạo delegate và phải xem nó như là 1 lớp. Đã là lớp thì phải có đối tượng cụ thể được sinh ra từ lớp. Vậy mới có thể dùng nó như một tham trị hoặc tham chiếu ở dạng parameters. Theo mình thấy nên xem nó là "con trỏ" trong ngoặc kép để dễ hình dung từ tư duy C++.
anh ơi cho em hỏi chút là mình có thể sử dụng tên của delegate như 1 tên hàm, ví du; Funcsum = (int a, int b) => a+b; int x = sum.invoke(1,2); console.writeline(x); // chạy được console.writeline(sum(1,2)); // vẫn chạy được Vậy thì tại sao lại phải sử dụng invoke ạ?
@bh4541
2 жыл бұрын
ví dụ thôi bạn, thầy ví dụ cho bạn hiểu thêm khi gán sum = kiểu delegate (method tính tổng) , rồi dùng sum.invoke gọi ra method gán cho sum để bạn thấy thôi
@bh4541
2 жыл бұрын
sum.invoke(1,2) biến trả về kiểu int thì int x =sum.invoke(1,2), hay console.writeline (sum(1,2)) cái sum (1,2) ở đây khai bao kiểu lamda có biến trả về cũng kiểu int tương đương nhau cả thôi
Lamda expression này na ná giống callback function trong JS anh nhỉ
@trandinhthang5778
Жыл бұрын
arrow function chứ
@_LuongQuocHao
Жыл бұрын
@@trandinhthang5778 delegate phải như callback ko ban,sao có mấy chỗ kêu delegate là con trỏ
@alee.van2812
Жыл бұрын
@@_LuongQuocHao vầng, là con trỏ trỏ tới phương thức
:')) . Không biết tại sao mình dùng select bị báo lỗi nữa . Mọi người có thể gợi ý được ko ạ
@andreatran4520
2 жыл бұрын
à à . Mình quên thêm thư viện :')) . ngáo thật.
@desod-vn
2 жыл бұрын
@@andreatran4520 Thêm thư viện gì vậy và có extension nào tự động thêm ko ạ ?