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

Why Constant patterns in C Sharp (C#)? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

Discover how a simple pattern can make your code cleaner and less buggy!

The Scenario

Imagine you have a list of different shapes, and you want to check if each shape is a circle. Without constant patterns, you might write many if-else statements comparing each shape to a specific value.

The Problem

This manual way is slow and messy. You write repetitive code, making it easy to make mistakes or forget a case. It's hard to read and hard to change later.

The Solution

Constant patterns let you check if a value matches a specific constant directly in a clean, simple way. This makes your code shorter, clearer, and less error-prone.

Before vs After
✗ Before
if (shape == "circle") { /* do something */ } else if (shape == "square") { /* do something else */ }
✓ After
if (shape is "circle") { /* do something */ }
What It Enables

It enables writing clear and concise checks against fixed values, making your code easier to understand and maintain.

Real Life Example

Checking user input commands like "start", "stop", or "pause" directly with constant patterns to decide what action to take.

Key Takeaways

Manual comparisons are repetitive and error-prone.

Constant patterns simplify checking fixed values.

Code becomes cleaner, easier to read, and maintain.

Practice

(1/5)
1. What does a constant pattern in C# do when used in a switch statement?
easy
A. It checks if the value is greater than a constant.
B. It checks if the value exactly matches a fixed constant.
C. It checks if the value is less than a constant.
D. It checks if the value is of a certain type.

Solution

  1. Step 1: Understand constant pattern purpose

    Constant patterns compare a value to a fixed constant to see if they are equal.
  2. Step 2: Apply to switch statement

    In a switch, constant patterns match cases where the value equals the constant exactly.
  3. Final Answer:

    It checks if the value exactly matches a fixed constant. -> Option B
  4. Quick Check:

    Constant pattern = exact value check [OK]
Hint: Constant pattern means exact value match check [OK]
Common Mistakes:
  • Thinking it checks ranges instead of exact values
  • Confusing with type patterns
  • Assuming it checks inequality
2. Which of the following is the correct syntax for a constant pattern in an if statement in C#?
easy
A. if (is x 10) { }
B. if (x == is 10) { }
C. if (x is 10) { }
D. if (x = 10) { }

Solution

  1. Step 1: Recall constant pattern syntax

    The syntax uses is followed by the constant value to check equality.
  2. Step 2: Check each option

    if (x is 10) { } uses if (x is 10), which is correct. Others have syntax errors.
  3. Final Answer:

    if (x is 10) { } -> Option C
  4. Quick Check:

    Correct constant pattern syntax = if (x is 10) [OK]
Hint: Use 'is' keyword followed by constant value [OK]
Common Mistakes:
  • Using assignment '=' instead of 'is'
  • Placing 'is' incorrectly
  • Adding extra operators
3. What will be the output of the following C# code?
int number = 5;
switch (number)
{
    case 3:
        Console.WriteLine("Three");
        break;
    case 5:
        Console.WriteLine("Five");
        break;
    default:
        Console.WriteLine("Other");
        break;
}
medium
A. Five
B. Three
C. Other
D. No output

Solution

  1. Step 1: Identify the value of 'number'

    The variable 'number' is assigned the value 5.
  2. Step 2: Match the switch cases

    The switch checks cases 3 and 5. Since number is 5, it matches case 5 and prints "Five".
  3. Final Answer:

    Five -> Option A
  4. Quick Check:

    number = 5 matches case 5 [OK]
Hint: Match value to case constant exactly [OK]
Common Mistakes:
  • Choosing default instead of matching case
  • Confusing case values
  • Ignoring break statements
4. Identify the error in this C# code using constant patterns:
object obj = 10;
if (obj is 10)
{
    Console.WriteLine("Ten");
}
medium
A. No error, code is correct
B. Missing cast to int before pattern matching
C. Cannot use constant pattern with object type
D. Constant pattern requires a variable after 'is'

Solution

  1. Step 1: Understand constant pattern with object

    Constant patterns can be used with object type to check if it equals a constant value.
  2. Step 2: Check code correctness

    The code uses obj is 10 correctly to check if obj equals 10. This is valid syntax and logic.
  3. Final Answer:

    No error, code is correct -> Option A
  4. Quick Check:

    Constant pattern works with object type [OK]
Hint: Constant pattern works directly on object values [OK]
Common Mistakes:
  • Assuming cast needed before pattern
  • Thinking constant pattern needs variable
  • Confusing with type patterns
5. Given a list of integers, which C# code correctly uses constant patterns to count how many times the number 7 appears?
var numbers = new List<int> {1, 7, 3, 7, 5};
int count = 0;
foreach (var n in numbers)
{
    // Fill in the blank
}
Console.WriteLine(count);
hard
A. if (n == 7) count = 7;
B. if (n is not 7) count++;
C. if (n is int) count++;
D. if (n is 7) count++;

Solution

  1. Step 1: Understand the goal

    We want to count how many times 7 appears in the list.
  2. Step 2: Use constant pattern to check for 7

    The correct constant pattern is if (n is 7) which checks if n equals 7, then increments count.
  3. Final Answer:

    if (n is 7) count++; -> Option D
  4. Quick Check:

    Constant pattern for 7 increments count [OK]
Hint: Use 'is' with constant to check exact value [OK]
Common Mistakes:
  • Assigning count instead of incrementing
  • Checking type instead of value
  • Counting non-7 values
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