Giả sử bạn có hàm cộng 2 số a và b và hiển thị kết quả lên màn hình. Bạn dùng hàm Calc để tính kết quả. Nếu bạn chỉ tính có 1 lần và không sử dụng lại nữa, bạn có thể sử dụng delegate Function.
delegate R BinOp<a,b,r>(A a, B b);
int Calc(BinOp<int, int, int> f, int a, int b) { return f(a, b) }
Hàm Calcint result = Calc( delegate (int a, int b)
{ return a + b; }
, 1, 2);
Nếu chuyển qua biểu thức Lambda:int resultInLamBda = Calc((a, b) => a + b, 1, 2);
Nhận xét
Đăng nhận xét