A switch statement helps you choose what to do based on different values. It makes your code cleaner and easier to read when you have many options.
Switch statement execution in C Sharp (C#)
switch (variable) { case value1: // code to run if variable == value1 break; case value2: // code to run if variable == value2 break; default: // code to run if variable does not match any case break; }
Each case checks if the variable matches a value.
The break stops the switch from running other cases.
int day = 3; switch (day) { case 1: Console.WriteLine("Monday"); break; case 2: Console.WriteLine("Tuesday"); break; case 3: Console.WriteLine("Wednesday"); break; default: Console.WriteLine("Unknown day"); break; }
char grade = 'B'; switch (grade) { case 'A': Console.WriteLine("Excellent"); break; case 'B': case 'C': Console.WriteLine("Well done"); break; case 'D': Console.WriteLine("You passed"); break; default: Console.WriteLine("Try again"); break; }
This program checks the value of number and prints a message for 1, 2, or 3. If the number is not 1, 2, or 3, it prints "Number is unknown".
using System; class Program { static void Main() { int number = 2; switch (number) { case 1: Console.WriteLine("Number is one"); break; case 2: Console.WriteLine("Number is two"); break; case 3: Console.WriteLine("Number is three"); break; default: Console.WriteLine("Number is unknown"); break; } } }
Always include a default case to handle unexpected values.
Forgetting break can cause the program to run multiple cases unintentionally.
Switch statements help choose actions based on a variable's value.
Use case for each value and break to stop.
Include a default case for any other values.
Practice
What is the main purpose of a switch statement in C#?
Solution
Step 1: Understand the role of switch
A switch statement selects one of many code blocks to execute based on a variable's value.Step 2: Compare with other options
Loops repeat code, functions define reusable code, and variable declarations create variables, none of which match switch's purpose.Final Answer:
To execute different code blocks based on the value of a variable -> Option BQuick Check:
Switch chooses code by value = A [OK]
- Confusing switch with loops
- Thinking switch defines functions
- Believing switch declares variables
Which of the following is the correct syntax to start a switch statement in C#?
?
Solution
Step 1: Recall switch syntax
The correct syntax uses parentheses around the variable and braces around cases: switch (variable) { ... }Step 2: Check each option
switch (variable) { case 1: break; } matches correct syntax; others miss parentheses or braces or have wrong order.Final Answer:
switch (variable) { case 1: break; } -> Option AQuick Check:
Parentheses and braces required = C [OK]
- Omitting parentheses around variable
- Missing braces around cases
- Incorrect order of keywords
What will be the output of this C# code?
int day = 3;
switch (day) {
case 1:
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
case 3:
Console.WriteLine("Wednesday");
break;
default:
Console.WriteLine("Invalid day");
break;
}Solution
Step 1: Identify the switch variable value
The variable day is 3.Step 2: Match case with variable
Case 3 matches, so it prints "Wednesday" and then breaks.Final Answer:
Wednesday -> Option AQuick Check:
day=3 prints Wednesday [OK]
- Forgetting break causes fall-through
- Choosing default when case matches
- Mixing case numbers and output
Find the error in this switch statement and select the fix:
int number = 2;
switch (number) {
case 1:
Console.WriteLine("One");
case 2:
Console.WriteLine("Two");
default:
Console.WriteLine("Default");
}Solution
Step 1: Identify missing break statements
Each case lacks a break, causing fall-through to next cases.Step 2: Fix by adding breaks
Adding break after each case stops fall-through and executes only matched case.Final Answer:
Add break; after each case block -> Option DQuick Check:
Break stops fall-through = A [OK]
- Ignoring fall-through behavior
- Removing default case unnecessarily
- Misusing if instead of switch
Given this code, what will be printed?
int score = 85;
switch (score / 10) {
case 10:
case 9:
Console.WriteLine("Excellent");
break;
case 8:
Console.WriteLine("Good");
break;
case 7:
case 6:
Console.WriteLine("Pass");
break;
default:
Console.WriteLine("Fail");
break;
}Solution
Step 1: Calculate switch expression value
score is 85, so score / 10 is 8 (integer division).Step 2: Match case for value 8
Case 8 prints "Good" and breaks.Final Answer:
Good -> Option CQuick Check:
85/10=8 prints Good [OK]
- Not using integer division
- Missing combined cases for 9 and 10
- Choosing default incorrectly
Ready to prove it?
Pass the test and this pattern moves unknown
