• Lamda Expression

    1.Biết
       - Lambda hay còn gọi là hàm nặc danh, nó có thể dùng để truyền vào một hàm khác và sử dụng một lần. Khác với các cách thông thường, ta định nghĩa hàm sau đó dùng tên hàm truyền vào một hàm khác.
       - Lambda đã được giới thiệu ở nhiều ngôn ngữ như Java, C#, JavaScript.

       - Lợi ích của lambda là không nhất thiết phải khai báo tên hàm ở một nơi khác, mà có thể tạo ngay một hàm (dùng 1 lần hay hiểu chính xác hơn là chỉ có 1 chỗ gọi 1 số tác vụ nhỏ). Như vậy, ta sẽ giảm được thời gian khai báo 1 hàm.



    2.Hiểu:
    //Cách cũ
    TangQuaDelegate dlg = delegate(string qua) { Console.WriteLine("Tặng quà" + qua); };
    //Dùng lambda expression
    TangQuaDelegate lamdaDlg = (qua) => { Console.WriteLine("Tặng quà: " + qua); }
    //Câu lệnh đầy đủ của lambda expression.
    //Dấu "=>" gọi là go-to
    (parameters) => { statement } qui tắc viết:
    //1. Có thể bỏ qua kiểu dữ liệu của parameter truyền vào
    (string qua) => {Console.WriteLine("Tặng quà: " + qua);}
    (qua) => {Console.WriteLine("Tặng quà: " + qua);}
    //2. Nếu không có parameter, bỏ dấu () trống
    () => {Console.WriteLine("Hello");}
    //3. Nếu chỉ có 1 parameter, có thể bỏ luôn dấu ()
    (x) => {Console.WriteLine("Hello " + x);}
    x => {Console.WriteLine("Hello " + x);}
    //4. Nếu có nhiều parameter, ngăn cách bằng dấu phẩy
    (x, y) => {Console.WriteLine("Hello " + x + y);}
    //5. Nếu anonymous function chỉ có 1 câu lệnh, có thể bỏ dấu {}
    x => { Console.WriteLine("Hello " + x); }
    x => Console.WriteLine("Hello " + x)
    //6. Nếu chỉ return 1 giá trị, có thể bỏ chữ return.
    //4 lambda expression sau tương đương nhau
    (x) => { return x > 4; }
    x => { return x > 4; }
    x => return x > 4
    x => x > 4 --------------------- step by step
    3.Apply



    References : https://msdn.microsoft.com/en-us/library/bb397687.aspx
  • 0 nhận xét:

    Đăng nhận xét

    QUOTE & QUOTE

    Without requirements or design, programming is just the art of adding bugs to a blank text file.

    ADDRESS

    100000, My Dinh, Ha Noi, VN

    EMAIL

    minhbu883@mail.com
    minhnn17@fsoft.com.vn

    TELEPHONE

    +84964 214 883

    MOBILE

    +8438 5689 888