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

Expression-bodied methods in C Sharp (C#) - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Expression-bodied methods
Method Declaration
↓
Use => expression
↓
Evaluate expression
↓
Return result
↓
Method call outputs value
An expression-bodied method uses => followed by an expression to return a value directly, making the method concise.
Execution Sample
C Sharp (C#)
int Square(int x) => x * x;

int result = Square(3);
Console.WriteLine(result);
Defines a method that returns the square of a number using expression-bodied syntax and prints the result.
Execution Table
StepActionExpression EvaluatedResultOutput
1Call Square(3)3 * 39
2Return from Square99
3Assign to resultresult = 9
4Print result9
💡 Method call completes and program prints 9, then ends.
Variable Tracker
VariableStartAfter CallFinal
x-33
result--9
Key Moments - 2 Insights
Why is there no curly braces {} in the method?
Expression-bodied methods use => to directly return the expression result, so curly braces and return keyword are not needed (see execution_table step 1).
What happens if the expression is more complex?
The expression after => can be any single expression; it will be evaluated and returned directly, keeping the method concise.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 1, what is the value of the expression evaluated?
A3
B6
C9
D0
💡 Hint
Check the 'Expression Evaluated' column at step 1 in the execution_table.
At which step is the method's return value assigned to the variable 'result'?
AStep 3
BStep 1
CStep 2
DStep 4
💡 Hint
Look at the 'Action' column in execution_table for assignment to 'result'.
If the method was written with curly braces and a return statement, how would the execution_table change?
AThe output would change
BSteps would include 'Enter method' and 'Return value' explicitly
CThe expression evaluated would be different
DNo change at all
💡 Hint
Think about how expression-bodied methods simplify the method body compared to traditional syntax.
Concept Snapshot
Expression-bodied methods use => followed by an expression to return a value directly.
They replace curly braces and return statements for simple methods.
Syntax: ReturnType MethodName(params) => expression;
Useful for concise, single-expression methods.
Called like normal methods and return the expression result.
Full Transcript
This example shows how expression-bodied methods work in C#. The method Square takes an integer x and returns x multiplied by itself using the => syntax. When Square(3) is called, the expression 3 * 3 is evaluated to 9, which is returned and assigned to the variable result. Finally, result is printed as 9. Expression-bodied methods let us write short methods without curly braces or return statements, making code cleaner and easier to read.

Practice

(1/5)
1. What is the main purpose of using expression-bodied methods in C#?
easy
A. To handle exceptions more efficiently
B. To declare variables with less code
C. To create classes without constructors
D. To write simple methods in a shorter and clearer way using the => syntax

Solution

  1. Step 1: Understand expression-bodied methods

    Expression-bodied methods use the => symbol to return a single expression directly, making code shorter.
  2. Step 2: Identify the purpose

    The main purpose is to simplify simple methods by writing them in one line with clear syntax.
  3. Final Answer:

    To write simple methods in a shorter and clearer way using the => syntax -> Option D
  4. Quick Check:

    Expression-bodied methods = shorter, clearer methods [OK]
Hint: Expression-bodied methods use => for short, single-expression methods [OK]
Common Mistakes:
  • Confusing expression-bodied methods with variable declarations
  • Thinking they handle exceptions
  • Believing they create classes
2. Which of the following is the correct syntax for an expression-bodied method that returns the square of an integer n?
easy
A. public int Square(int n) => n * n;
B. public int Square(int n) { return n * n; }
C. public int Square(int n) => { return n * n; };
D. public int Square(int n) => return n * n;

Solution

  1. Step 1: Recall expression-bodied method syntax

    Expression-bodied methods use => followed directly by the expression without braces or return keyword.
  2. Step 2: Check each option

    public int Square(int n) => n * n; correctly uses => n * n; without braces or return. public int Square(int n) { return n * n; } uses normal method syntax. Options C and D have syntax errors.
  3. Final Answer:

    public int Square(int n) => n * n; -> Option A
  4. Quick Check:

    Correct syntax = public int Square(int n) => n * n; [OK]
Hint: Use => expression; without braces or return for expression-bodied methods [OK]
Common Mistakes:
  • Adding braces {} around the expression
  • Using return keyword with =>
  • Missing semicolon at the end
3. What will be the output of the following C# code?
class Program {
    static int Double(int x) => x * 2;
    static void Main() {
        Console.WriteLine(Double(5));
    }
}
medium
A. 5
B. 10
C. Syntax error
D. 0

Solution

  1. Step 1: Understand the method Double

    The method Double takes an integer x and returns x multiplied by 2 using expression-bodied syntax.
  2. Step 2: Calculate the output for Double(5)

    Double(5) returns 5 * 2 = 10, which is printed by Console.WriteLine.
  3. Final Answer:

    10 -> Option B
  4. Quick Check:

    Double(5) = 10 [OK]
Hint: Multiply input by 2 in expression-bodied method to get output [OK]
Common Mistakes:
  • Confusing output with input value
  • Expecting syntax error due to unfamiliar syntax
  • Ignoring return value
4. Identify the error in the following expression-bodied method and choose the correct fix:
public int Add(int a, int b) => { return a + b; };
medium
A. Change => to =>> : public int Add(int a, int b) =>> a + b;
B. Add semicolon after return: public int Add(int a, int b) => { return a + b; };
C. Remove braces and return keyword: public int Add(int a, int b) => a + b;
D. No error, code is correct

Solution

  1. Step 1: Analyze expression-bodied method syntax

    Expression-bodied methods must have a single expression after => without braces or return keyword.
  2. Step 2: Identify the fix

    Remove braces and return keyword to fix syntax: public int Add(int a, int b) => a + b;
  3. Final Answer:

    Remove braces and return keyword: public int Add(int a, int b) => a + b; -> Option C
  4. Quick Check:

    Expression-bodied method = single expression after => [OK]
Hint: No braces or return with =>; just expression [OK]
Common Mistakes:
  • Using braces {} with expression-bodied methods
  • Including return keyword after =>
  • Thinking =>> is valid syntax
5. You want to create an expression-bodied method IsEven that returns true if an integer is even, and false otherwise. Which of the following implementations is correct?
hard
A. public bool IsEven(int n) => n % 2 == 0;
B. public bool IsEven(int n) => { if (n % 2 == 0) return true; else return false; };
C. public bool IsEven(int n) => return n % 2 == 0;
D. public bool IsEven(int n) => n / 2 == 0;

Solution

  1. Step 1: Understand the method goal

    The method should return true if n is even (n % 2 == 0), false otherwise.
  2. Step 2: Check each option

    public bool IsEven(int n) => n % 2 == 0; correctly uses expression-bodied syntax with the expression n % 2 == 0. public bool IsEven(int n) => { if (n % 2 == 0) return true; else return false; }; uses braces and return, which is invalid for expression-bodied methods. public bool IsEven(int n) => return n % 2 == 0; incorrectly uses return keyword after =>. public bool IsEven(int n) => n / 2 == 0; incorrectly checks n / 2 == 0, which is wrong logic.
  3. Final Answer:

    public bool IsEven(int n) => n % 2 == 0; -> Option A
  4. Quick Check:

    IsEven uses n % 2 == 0 with => [OK]
Hint: Use expression n % 2 == 0 directly after => for boolean return [OK]
Common Mistakes:
  • Using braces and return in expression-bodied methods
  • Adding return keyword after =>
  • Incorrect logic like n / 2 == 0
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