Expression-bodied methods let you write simple methods in a shorter, cleaner way using just one line.
When a method returns a single value or expression.
When you want to make your code easier to read by reducing clutter.
When the method logic is very simple, like returning a calculation or property.
When you want to write quick helper methods without full method blocks.
Syntax
C Sharp (C#)
returnType MethodName(parameters) => expression;
The => symbol means the method returns the result of the expression directly.
No need for curly braces { } or return keyword inside the method.
Examples
This method returns the square of the input number.
C Sharp (C#)
int Square(int x) => x * x;
This method returns a greeting message using the input name.
C Sharp (C#)
string Greet(string name) => $"Hello, {name}!";
This method checks if a number is even and returns true or false.
C Sharp (C#)
bool IsEven(int number) => number % 2 == 0;
Sample Program
This program defines an expression-bodied method Double that multiplies a number by 2. It then prints the result for the number 5.
C Sharp (C#)
using System;
class Program
{
staticintDouble(int n) => n * 2;
staticvoid Main()
{
int value = 5;
Console.WriteLine($"Double of {value} is {Double(value)}");
}
}
OutputSuccess
Important Notes
Expression-bodied methods work best for simple, single-expression methods.
For more complex logic, use regular method blocks with curly braces.
Summary
Expression-bodied methods use => to return a single expression directly.
They make simple methods shorter and easier to read.
Use them when your method only needs to return one value or expression.
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
Step 1: Understand expression-bodied methods
Expression-bodied methods use the => symbol to return a single expression directly, making code shorter.
Step 2: Identify the purpose
The main purpose is to simplify simple methods by writing them in one line with clear syntax.
Final Answer:
To write simple methods in a shorter and clearer way using the => syntax -> Option D
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
Step 1: Recall expression-bodied method syntax
Expression-bodied methods use => followed directly by the expression without braces or return keyword.
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.
Final Answer:
public int Square(int n) => n * n; -> Option A
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
Step 1: Understand the method Double
The method Double takes an integer x and returns x multiplied by 2 using expression-bodied syntax.
Step 2: Calculate the output for Double(5)
Double(5) returns 5 * 2 = 10, which is printed by Console.WriteLine.
Final Answer:
10 -> Option B
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
Step 1: Analyze expression-bodied method syntax
Expression-bodied methods must have a single expression after => without braces or return keyword.
Step 2: Identify the fix
Remove braces and return keyword to fix syntax: public int Add(int a, int b) => a + b;
Final Answer:
Remove braces and return keyword: public int Add(int a, int b) => a + b; -> Option C
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
Step 1: Understand the method goal
The method should return true if n is even (n % 2 == 0), false otherwise.
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.
Final Answer:
public bool IsEven(int n) => n % 2 == 0; -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.