Biểu thức Lambda là các hàm không tên được cung cấp dưới dạng giá trị không đổi. Chúng có thể xuất hiện ở bất kỳ nơi nào mà bất kỳ hằng số nào khác có thể, nhưng thường được viết dưới dạng tham số cho một số hàm khác. Ví dụ kinh điển là bạn sẽ vượt qua một hàm so sánh với một thói quen "sắp xếp" chung chung, và thay vì đi đến sự cố định nghĩa toàn bộ hàm (và phát sinh sự gián đoạn từ vựng và không gian tên) để mô tả sự so sánh này, bạn có thể thông qua một biểu thức lambda mô tả so sánh.
BAO GIỜ, điều này bỏ sót một trong những tính năng quan trọng nhất của Biểu thức Lambda, là chúng thực thi trong ngữ cảnh xuất hiện của chúng. Do đó, họ có thể sử dụng các giá trị của các biến được xác định trong ngữ cảnh đó. Điều này phân biệt các con trỏ hàm từ các biểu thức lambda đúng. Trong các ngôn ngữ hỗ trợ các biến có thể thay đổi, các biểu thức lambda thích hợp cung cấp khả năng thay đổi các giá trị của các biến đó.
Biểu thức Lambda xuất hiện (với cú pháp khác nhau) trong tất cả các phiên bản LISP, Perl, Python và C++, Objective C, C# và Java 8 gần đây, nhưng đáng chú ý là không có trong C mặc dù nó có cách xử lý các hàm truyền (hoặc một số lý do cho chúng) xung quanh như các tham số. Chúng là một phần tử cú pháp với ngữ nghĩa cụ thể, và các ngữ nghĩa đó đặt thêm các yêu cầu về thời gian chạy hơn C được thiết kế để yêu cầu.
http://stackoverflow.com/questions/471502/what-is-linq/471592#471592 Phần trên "Hãy bắt đầu thăm dò này". –
Tất cả các phương thức LINQ được đặt tên. Một số sử dụng các phương thức chưa được đặt tên làm tham số, tức là các phương thức ẩn danh hoặc các biểu thức lambda – Greg
Tôi không thể tin được số lượng người trả lời bản sao rõ ràng này. –