http://www.codeproject.com/Tips/298963/Understand-Lambda-Expressions-in-3-minutes
- What is a Lambda Expression?
A lambda expression is an anonymous function and it is mostly used to create delegates in LINQ. Simply put, it's a method without a declaration, i.e., access modifier, return value declaration, and name.
- Why do we need lambda expressions? (Why would we need to write a method without a name?)
Convenience. It's a shorthand that allows you to write a method in the same place you are going to use it. Especially useful in places where a method is being used only once, and the method definition is short. It saves you the effort of declaring and writing a separate method to the containing class.
Benefits:
- Reduced typing. No need to specify the name of the function, its return type, and its access modifier.
- When reading the code you don't need to look elsewhere for the method's definition.
Lambda expressions should be short. A complex definition makes the calling code difficult to read.
- How do we define a lambda expression?
Lambda basic definition: Parameters => Executed code.
Simple example
n => n % 2 == 1
- n is the input parameter
- n % 2 == 1 is the expression
You can read n => n % 2 == 1 like: "input parameter named n goes to anonymous function which returns true if the input is odd".
Same example (now execute the lambda):
List<int> numbers = new List<int>{11,37,52};
List<int> oddNumbers = numbers.where(n => n % 2 == 1).ToList();
//Now oddNumbers is equal to 11 and 37
That's all, now you know the basics of Lambda Expressions.
- * I didn't mention expression trees/run time advantages of lambda expression due to limited scope.
- * Reference Lambda Expression tutorial
本文将介绍Lambda表达式的基本概念、为什么需要它们、如何定义以及它们带来的好处。重点在于简洁明了地理解Lambda表达式的使用场景和优势。
4万+

被折叠的 条评论
为什么被折叠?



