Bird
Raised Fist0
C Sharp (C#)programming~5 mins

Lambda expression syntax in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a lambda expression in C#?
A lambda expression is a short way to write anonymous functions using the syntax (input) => expression or (input) => { statements }. It is often used for inline code like in LINQ queries or event handlers.
Click to reveal answer
beginner
How do you write a lambda expression that takes one integer and returns its square?
You write it as: x => x * x. Here, x is the input parameter, and x * x is the expression returned.
Click to reveal answer
intermediate
What is the difference between a lambda expression with an expression body and one with a statement body?
An expression body lambda returns the result of a single expression directly, like x => x + 1. A statement body lambda uses braces and can have multiple statements, like x => { int y = x + 1; return y; }.
Click to reveal answer
beginner
Can a lambda expression have multiple parameters? Show an example.
Yes, a lambda can have multiple parameters separated by commas. Example: (x, y) => x + y adds two numbers.
Click to reveal answer
intermediate
How do you specify the type of parameters in a lambda expression?
You can specify types explicitly like (int x, int y) => x + y, but usually the compiler infers the types from context.
Click to reveal answer
Which of the following is a valid lambda expression in C#?
Ax => x * 2
B(int x) => x * 2
Cx => { return x * 2; }
D=> x * 2
What does the lambda expression (x, y) => x - y do?
ADivides x by y
BAdds x and y
CMultiplies x and y
DSubtracts y from x
How do you write a lambda expression with no parameters that returns 42?
A=> 42
Bx => 42
C() => 42
D(x) => 42
Which syntax is used for a statement body lambda?
A(x) => { return x + 1; }
Bx => { x + 1 }
Cx => x + 1
Dx => return x + 1
Can the compiler infer parameter types in lambda expressions?
AYes, always
BYes, if context provides type information
COnly for single parameter lambdas
DNo, never
Explain the basic syntax of a lambda expression in C# and give an example.
Think about how you write a small function without a name.
You got /4 concepts.
    Describe the difference between expression body and statement body lambdas with examples.
    One is short and simple, the other can do more steps.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the lambda expression x => x * 2 represent in C#?
      easy
      A. A variable declaration
      B. A function that doubles the input value
      C. A loop that runs twice
      D. A conditional statement

      Solution

      1. Step 1: Understand lambda syntax

        The expression x => x * 2 means a function taking input x and returning x * 2.
      2. Step 2: Interpret the operation

        It doubles the input value by multiplying it by 2.
      3. Final Answer:

        A function that doubles the input value -> Option B
      4. Quick Check:

        Lambda x => x * 2 doubles input [OK]
      Hint: Lambda uses => to define short functions quickly [OK]
      Common Mistakes:
      • Thinking lambda is a variable
      • Confusing lambda with loops
      • Assuming lambda is a conditional
      2. Which of the following is the correct syntax for a lambda expression that takes two integers and returns their sum?
      easy
      A. (a, b) => a + b
      B. a, b => a + b
      C. (a, b) => { a + b }
      D. (a, b) => a + b;

      Solution

      1. Step 1: Check parameter syntax

        Parameters must be enclosed in parentheses when there is more than one, so (a, b) is correct.
      2. Step 2: Check expression body

        The expression a + b without braces is valid for single expressions. (a, b) => a + b matches this.
      3. Final Answer:

        (a, b) => a + b -> Option A
      4. Quick Check:

        Two parameters need parentheses and expression body [OK]
      Hint: Use parentheses for multiple parameters in lambda [OK]
      Common Mistakes:
      • Omitting parentheses for multiple parameters
      • Adding semicolon inside lambda expression
      • Using braces without return keyword incorrectly
      3. What is the output of the following C# code?
      Func<int, int> square = x => x * x;
      Console.WriteLine(square(4));
      medium
      A. Compilation error
      B. 8
      C. 4
      D. 16

      Solution

      1. Step 1: Understand the lambda function

        The lambda x => x * x returns the square of the input number.
      2. Step 2: Calculate the output for input 4

        4 * 4 = 16, so square(4) returns 16.
      3. Final Answer:

        16 -> Option D
      4. Quick Check:

        Square of 4 is 16 [OK]
      Hint: Lambda returns expression result directly if no braces [OK]
      Common Mistakes:
      • Confusing multiplication with addition
      • Expecting lambda to print instead of return
      • Thinking lambda causes syntax error
      4. Identify the error in this lambda expression:
      Func<int, int> add = (x, y) => x + y;
      medium
      A. Parentheses around parameters are not allowed
      B. Missing return keyword inside lambda
      C. Lambda has too many parameters for Func<int, int>
      D. Lambda expression syntax is correct

      Solution

      1. Step 1: Check Func delegate signature

        Func<int, int> expects one input parameter and one output (int).
      2. Step 2: Compare lambda parameters

        The lambda has two parameters (x, y), which does not match the delegate expecting one.
      3. Final Answer:

        Lambda has too many parameters for Func<int, int> -> Option C
      4. Quick Check:

        Func<int, int> means one input, one output [OK]
      Hint: Match lambda parameters count with delegate type [OK]
      Common Mistakes:
      • Assuming multiple parameters allowed for Func
      • Forgetting delegate parameter count rules
      • Thinking return keyword is always needed
      5. Given a list of integers, which lambda expression correctly filters out all even numbers using List<int>.Where()?
      var numbers = new List<int> {1, 2, 3, 4, 5, 6};
      var odds = numbers.Where( /* which lambda? */ );
      hard
      A. x => x % 2 == 1
      B. x => x % 2 = 1
      C. x => { return x % 2 == 0; }
      D. x => x / 2 == 1

      Solution

      1. Step 1: Understand filtering condition

        We want to keep odd numbers, so condition is x % 2 == 1.
      2. Step 2: Check lambda syntax and logic

        x => x % 2 == 1 uses correct syntax and logic to filter odds. x => x % 2 = 1 uses assignment (=) which is invalid. x => { return x % 2 == 0; } filters evens, not odds. x => x / 2 == 1 checks division, not oddness.
      3. Final Answer:

        x => x % 2 == 1 -> Option A
      4. Quick Check:

        Filter odds with modulo == 1 [OK]
      Hint: Use == for comparison, % 2 == 1 filters odd numbers [OK]
      Common Mistakes:
      • Using = instead of == in lambda
      • Filtering evens instead of odds
      • Confusing division with modulo
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard