Bird
Raised Fist0
C Sharp (C#)programming

Enum with switch pattern in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an enum in C#?
An enum (short for enumeration) is a special data type that lets you define a set of named constants. It helps make code more readable by using names instead of numbers.
Click to reveal answer
beginner
How does the switch pattern matching work with enums in C#?
Switch pattern matching lets you check an enum value and run code based on which named constant it matches, making the code clear and easy to follow.
Click to reveal answer
intermediate
Why use switch pattern matching instead of if-else with enums?
Switch pattern matching is cleaner and easier to read when checking multiple enum values. It also helps the compiler warn you if you forget to handle some enum cases.
Click to reveal answer
beginner
Write a simple enum declaration for days of the week in C#.
enum DayOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }
Click to reveal answer
beginner
Show a switch pattern matching example using the DayOfWeek enum to print if it's a weekend or weekday.
DayOfWeek day = DayOfWeek.Saturday; switch (day) { case DayOfWeek.Saturday or DayOfWeek.Sunday: Console.WriteLine("It's the weekend!"); break; default: Console.WriteLine("It's a weekday."); break; }
Click to reveal answer
What does an enum represent in C#?
AA set of named constants
BA method to switch between classes
CA type of loop
DA variable that changes type
Which keyword is used to define an enum in C#?
Apattern
Bclass
Cenum
Dswitch
In switch pattern matching with enums, how do you match multiple cases together?
AUsing 'or' between cases
BUsing commas between cases
CUsing 'and' between cases
DUsing separate switch statements
What happens if you forget to handle an enum value in a switch statement?
AThe program crashes immediately
BThe compiler may warn you if you use pattern matching
CThe missing case is handled automatically
DThe switch statement ignores the enum
Which of these is a valid enum declaration?
Aenum Color: int { Red, Green, Blue }
Benum Color = { Red, Green, Blue }
Cenum Color() { Red, Green, Blue }
Denum Color { Red, Green, Blue }
Explain how to use an enum with a switch pattern in C# to handle different cases.
Think about how you check the enum value and run code for each named constant.
You got /4 concepts.
    Describe the benefits of using switch pattern matching with enums compared to if-else statements.
    Consider how the code looks and how the compiler helps you.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using an enum in C#?
      easy
      A. To give meaningful names to a set of related constant values
      B. To create a new class with methods
      C. To store multiple unrelated variables
      D. To define a method that returns multiple values

      Solution

      1. Step 1: Understand what enums represent

        Enums are used to name a fixed set of related constants, like days of the week or colors.
      2. Step 2: Compare options with enum purpose

        Only To give meaningful names to a set of related constant values correctly describes enums as naming related constant values.
      3. Final Answer:

        To give meaningful names to a set of related constant values -> Option A
      4. Quick Check:

        Enum = Named constants [OK]
      Hint: Enums name fixed sets of values clearly [OK]
      Common Mistakes:
      • Thinking enums create classes
      • Confusing enums with variables
      • Assuming enums store unrelated data
      2. Which of the following is the correct syntax to declare an enum named Day with values Monday, Tuesday, and Wednesday?
      easy
      A. enum Day (Monday, Tuesday, Wednesday);
      B. enum Day { Monday, Tuesday, Wednesday }
      C. enum Day: Monday, Tuesday, Wednesday;
      D. enum Day = { Monday, Tuesday, Wednesday };

      Solution

      1. Step 1: Recall enum declaration syntax

        In C#, enums are declared with the keyword enum, name, and curly braces listing values separated by commas.
      2. Step 2: Match syntax to options

        enum Day { Monday, Tuesday, Wednesday } matches the correct syntax: enum Day { Monday, Tuesday, Wednesday }.
      3. Final Answer:

        enum Day { Monday, Tuesday, Wednesday } -> Option B
      4. Quick Check:

        Enum syntax uses braces and commas [OK]
      Hint: Use braces and commas to list enum values [OK]
      Common Mistakes:
      • Using equals sign (=) after enum name
      • Using colons or parentheses incorrectly
      • Missing commas between values
      3. Given the enum and switch code below, what will be printed?
      enum Color { Red, Green, Blue }
      
      Color c = Color.Green;
      switch (c)
      {
          case Color.Red:
              Console.WriteLine("Stop");
              break;
          case Color.Green:
              Console.WriteLine("Go");
              break;
          case Color.Blue:
              Console.WriteLine("Wait");
              break;
      }
      medium
      A. Go
      B. Stop
      C. Wait
      D. No output

      Solution

      1. Step 1: Identify the enum value assigned

        The variable c is assigned Color.Green.
      2. Step 2: Follow switch cases for Color.Green

        The switch matches Color.Green and prints "Go".
      3. Final Answer:

        Go -> Option A
      4. Quick Check:

        Switch on enum Green prints "Go" [OK]
      Hint: Match enum value to switch case output [OK]
      Common Mistakes:
      • Confusing enum values with strings
      • Missing break causing fall-through
      • Assuming default case runs without match
      4. What is wrong with the following code snippet?
      enum Status { Pending, Approved, Rejected }
      
      Status s = Status.Approved;
      switch (s)
      {
          case Status.Pending:
              Console.WriteLine("Waiting");
          case Status.Approved:
              Console.WriteLine("Accepted");
              break;
          case Status.Rejected:
              Console.WriteLine("Denied");
              break;
      }
      medium
      A. Variable s is not assigned a value
      B. Enum values are not declared correctly
      C. Switch statement syntax is invalid
      D. Missing break after case Status.Pending causes fall-through

      Solution

      1. Step 1: Check switch cases for breaks

        The case Status.Pending lacks a break;, so execution falls through to the next case.
      2. Step 2: Understand fall-through effect

        If s was Status.Pending, it would print both "Waiting" and "Accepted" unintentionally.
      3. Final Answer:

        Missing break after case Status.Pending causes fall-through -> Option D
      4. Quick Check:

        Each switch case needs a break [OK]
      Hint: Always add break after each switch case [OK]
      Common Mistakes:
      • Forgetting break causes multiple case runs
      • Assuming enum declaration is wrong
      • Thinking variable is uninitialized
      5. You want to write a method that takes an enum Season with values Spring, Summer, Fall, Winter and returns a string describing the typical weather. Which switch expression correctly returns "Warm" for Summer and Spring, "Cool" for Fall, and "Cold" for Winter?
      hard
      A. return season switch { Season.Spring, Season.Summer => "Warm", Season.Fall => "Cold", Season.Winter => "Cool" };
      B. switch (season) { case Season.Spring: case Season.Summer: return "Warm"; case Season.Fall: return "Cool"; case Season.Winter: return "Cold"; default: return "Unknown"; }
      C. return season switch { Season.Spring => "Warm", Season.Summer => "Warm", Season.Fall => "Cool", Season.Winter => "Cold", _ => "Unknown" };
      D. switch (season) { case Season.Spring: return "Warm"; case Season.Summer: return "Cool"; case Season.Fall: return "Cold"; case Season.Winter: return "Cold"; }

      Solution

      1. Step 1: Check switch expression syntax

        return season switch { Season.Spring => "Warm", Season.Summer => "Warm", Season.Fall => "Cool", Season.Winter => "Cold", _ => "Unknown" }; uses the modern C# switch expression with correct syntax and covers all enum values with correct returns.
      2. Step 2: Verify correct mapping of seasons to weather

        Spring and Summer return "Warm", Fall returns "Cool", Winter returns "Cold", and a default case handles unknowns.
      3. Final Answer:

        return season switch { Season.Spring => "Warm", Season.Summer => "Warm", Season.Fall => "Cool", Season.Winter => "Cold", _ => "Unknown" }; -> Option C
      4. Quick Check:

        Switch expression with correct mappings [OK]
      Hint: Use switch expressions for concise enum mapping [OK]
      Common Mistakes:
      • Using incorrect syntax for multiple values in switch expression
      • Mixing return values incorrectly
      • Missing default case in switch expression
      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