Click here to Skip to main content
15,881,172 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

 
GeneralRe: My vote of 1 Pin
cigwork5-Dec-12 21:15
cigwork5-Dec-12 21:15 
GeneralRe: My vote of 1 Pin
Roger Tranchez15-Dec-12 23:35
Roger Tranchez15-Dec-12 23:35 
QuestionWhat about the link to linqtutorial.net? Pin
Klaus Luedenscheidt4-Dec-12 19:34
Klaus Luedenscheidt4-Dec-12 19:34 
QuestionCongratulations Pin
Glen Harvy4-Dec-12 17:51
Glen Harvy4-Dec-12 17:51 
GeneralMy vote of 5 Pin
Nosugar3-Oct-12 23:39
Nosugar3-Oct-12 23:39 
QuestionMy Vote of 5! Pin
akosidab18-Jul-12 23:01
akosidab18-Jul-12 23:01 
QuestionUnderstand Lambda Expression in 3 min - Wonderfull Pin
Sen K Mathew16-Jul-12 1:11
Sen K Mathew16-Jul-12 1:11 
GeneralReason for my vote of 5 Great and To the point Pin
TanzeelurRehman13-Jan-12 0:26
TanzeelurRehman13-Jan-12 0:26 
Reason for my vote of 5
Great and To the point
GeneralReason for my vote of 5 Short and to the point. Very clear a... Pin
Pantelis Chatzinikolis1-Jan-12 15:16
Pantelis Chatzinikolis1-Jan-12 15:16 
GeneralReason for my vote of 5 Nice article. Clarifies on the very ... Pin
Anandachetan Elikapati29-Dec-11 15:44
Anandachetan Elikapati29-Dec-11 15:44 
GeneralWhat is a declartion? Pin
jenkstom20-Dec-11 3:38
jenkstom20-Dec-11 3:38 
GeneralReason for my vote of 5 Great, easy to understand. Pin
chuckamus_prime20-Dec-11 3:04
chuckamus_prime20-Dec-11 3:04 
GeneralReason for my vote of 3 its easy to understand, but more exa... Pin
AbdullaMohammad19-Dec-11 22:45
AbdullaMohammad19-Dec-11 22:45 
GeneralReason for my vote of 5 It's easy to understand. :) Pin
Baoyu Mou19-Dec-11 16:57
Baoyu Mou19-Dec-11 16:57 
General:) Think I have spent too long trying to fight the PC establ... Pin
Bob100019-Dec-11 14:12
professionalBob100019-Dec-11 14:12 
GeneralReason for my vote of 1 ou used the most irritating of phase... Pin
Bob100019-Dec-11 11:55
professionalBob100019-Dec-11 11:55 
GeneralRe: Ok, I will give it my attention next time :) Pin
Dan Avidar19-Dec-11 13:06
Dan Avidar19-Dec-11 13:06 
GeneralRe: Reason for my vote of 1ou used the most irritating of phase... Pin
Spiff Dog4-Dec-12 13:52
Spiff Dog4-Dec-12 13:52 
GeneralRe: Reason for my vote of 1ou used the most irritating of phase... Pin
Bob10004-Dec-12 22:22
professionalBob10004-Dec-12 22:22 
GeneralRe: Reason for my vote of 1ou used the most irritating of phase... Pin
Spiff Dog13-Dec-12 12:10
Spiff Dog13-Dec-12 12:10 
GeneralRe: Reason for my vote of 1ou used the most irritating of phase... Pin
Bob100013-Dec-12 14:46
professionalBob100013-Dec-12 14:46 
GeneralRe: Reason for my vote of 1ou used the most irritating of phase... Pin
Bob100013-Dec-12 14:47
professionalBob100013-Dec-12 14:47 
GeneralReason for my vote of 5 good one Pin
S.P.Tiwari15-Dec-11 21:48
professionalS.P.Tiwari15-Dec-11 21:48 
GeneralReason for my vote of 5 I like it. this article provides goo... Pin
H.A.Baig15-Dec-11 18:18
H.A.Baig15-Dec-11 18:18 

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.