Click here to Skip to main content
12,548,119 members (47,423 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


134 bookmarked

Understand Lambda Expressions in 3 Minutes

, 5 Mar 2013 CPOL
Rate this:
Please Sign up or sign in to vote.
Lambda expressions short tutorial


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.

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.


Lambda expressions should be short. A complex definition makes the calling code difficult to read.

Lambda basic definition: Parameters => Executed code

  1. What is a Lambda Expression?
  2. Why do we need lambda expressions? (Why would we need to write a method without a name?)
    1. Reduced typing. No need to specify the name of the function, its return type, and its access modifier.
    2. When reading the code, you don't need to look elsewhere for the method's definition.
  3. How do we define a lambda expression?

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.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Dan Avidar
United States United States
No Biography provided

You may also be interested in...


Comments and Discussions

SuggestionLambda expressions are type safe Pin
battlmonstr21-Aug-16 3:42
memberbattlmonstr21-Aug-16 3:42 
QuestionCouldn't we just use the logical expression instead of using it along with lambda expression ? Pin
Chandrabhan Pradhan5-Aug-16 7:43
memberChandrabhan Pradhan5-Aug-16 7:43 
QuestionKISS Pin
rahulchow22-Jul-16 8:42
memberrahulchow22-Jul-16 8:42 
PraiseReally helpful Pin
Member 1002269626-Jan-16 19:10
memberMember 1002269626-Jan-16 19:10 
Generalits reference link gets spam message Pin
Southmountain19-Dec-15 10:10
memberSouthmountain19-Dec-15 10:10 
QuestionEasiest way to explain it Pin
Member 109538593-Oct-15 6:50
memberMember 109538593-Oct-15 6:50 
QuestionSuper simple explanation Pin
Member 109346763-Aug-15 22:02
memberMember 109346763-Aug-15 22:02 
GeneralMy vote of 5 Pin
Member 110351022-Aug-15 9:55
memberMember 110351022-Aug-15 9:55 
GeneralMy vote of 5 Pin
Bunny Charles27-Apr-15 21:10
memberBunny Charles27-Apr-15 21:10 
Questionlink to "more info" is a virus Pin
Member 105394751-Feb-15 13:36
memberMember 105394751-Feb-15 13:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.161021.1 | Last Updated 5 Mar 2013
Article Copyright 2011 by Dan Avidar
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid