Click here to Skip to main content
15,860,943 members
Articles / Programming Languages / C#
Tip/Trick

Understand Lambda Expressions in 3 Minutes

Rate me:
Please Sign up or sign in to vote.
4.88/5 (231 votes)
5 Mar 2013CPOL1 min read 1.1M   151   76
Lambda expressions short tutorial

Introduction

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.

Benefits

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

C#
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):

C#
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.

License

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


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
AnswerRe: Nice but the last link is obsolete Pin
Nick Alexeev16-Apr-14 9:25
professionalNick Alexeev16-Apr-14 9:25 
GeneralRe: Nice but the last link is obsolete Pin
rj475621-Apr-14 18:14
rj475621-Apr-14 18:14 
QuestionMy vote of 5 Pin
Member 323305517-Dec-13 19:53
Member 323305517-Dec-13 19:53 
GeneralThe simplest article of confused topic so far. Thank You Pin
Deepak K Gupta29-Sep-13 10:06
Deepak K Gupta29-Sep-13 10:06 
GeneralMy vote of 5 Pin
Tarun Mangukiya2-Sep-13 4:57
Tarun Mangukiya2-Sep-13 4:57 
GeneralMy vote of 5 Pin
Edgar ramirez24-Aug-13 7:54
Edgar ramirez24-Aug-13 7:54 
QuestionSorry... Pin
jhewitt999923-Aug-13 11:45
jhewitt999923-Aug-13 11:45 
AnswerRe: Sorry... Pin
Spong3bob8-May-15 12:57
Spong3bob8-May-15 12:57 
Agreed on benefit A, disagree on benefit B.
QuestionNice intro, but could expand Pin
ShaunnyBoy21-Aug-13 2:01
ShaunnyBoy21-Aug-13 2:01 
QuestionNicely explained...Very thanks Pin
Chintan.Desai31-Jul-13 18:01
Chintan.Desai31-Jul-13 18:01 
GeneralMy vote of 5 Pin
Brian A Stephens1-Jul-13 2:33
professionalBrian A Stephens1-Jul-13 2:33 
GeneralMy vote of 4 Pin
Adam Nain12-Jun-13 20:08
professionalAdam Nain12-Jun-13 20:08 
GeneralMy vote of 5 Pin
Javier Prieto12-Jun-13 3:40
Javier Prieto12-Jun-13 3:40 
QuestionMy vote of 5 Pin
vikram00110-Jun-13 21:37
vikram00110-Jun-13 21:37 
GeneralMy vote of 5 Pin
N_cooL5-Jun-13 21:55
N_cooL5-Jun-13 21:55 
QuestionUnderstand Lambda Expressions Pin
Endalew26-May-13 15:20
Endalew26-May-13 15:20 
GeneralMy vote of 5 Pin
_Vitor Garcia_12-May-13 22:26
_Vitor Garcia_12-May-13 22:26 
Questionty Pin
Member 1000908125-Apr-13 13:10
Member 1000908125-Apr-13 13:10 
GeneralMy vote of 5 Pin
Leo Chapiro26-Mar-13 4:28
professionalLeo Chapiro26-Mar-13 4:28 
GeneralMy vote of 5 Pin
KRISHNA ANIPINDI24-Mar-13 23:52
professionalKRISHNA ANIPINDI24-Mar-13 23:52 
GeneralMy vote of 5 Pin
GuyThiebaut18-Mar-13 6:27
professionalGuyThiebaut18-Mar-13 6:27 
GeneralWell Explained Pin
PratimaG11-Mar-13 5:11
PratimaG11-Mar-13 5:11 
GeneralMy vote of 4 Pin
iAmit196-Mar-13 17:36
iAmit196-Mar-13 17:36 
QuestionVery well explained Pin
Member 93414686-Mar-13 6:48
Member 93414686-Mar-13 6:48 
AnswerRe: Very well explained Pin
Dan Avidar6-Mar-13 7:20
Dan Avidar6-Mar-13 7:20 

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.