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

Constant patterns in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Constant Pattern Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of constant pattern matching with int
What is the output of this C# code using constant pattern matching?
C Sharp (C#)
int number = 5;
string result = number switch
{
    1 => "One",
    5 => "Five",
    _ => "Other"
};
Console.WriteLine(result);
AOne
BCompilation error
COther
DFive
Attempts:
2 left
💡 Hint
Look at which constant matches the variable 'number'.
❓ Predict Output
intermediate
2:00remaining
Constant pattern with string and null
What will this C# code print?
C Sharp (C#)
string? text = null;
string output = text switch
{
    null => "Null value",
    "hello" => "Greeting",
    _ => "Unknown"
};
Console.WriteLine(output);
AGreeting
BNull value
CUnknown
DRuntime exception
Attempts:
2 left
💡 Hint
Check how the null constant pattern works.
❓ Predict Output
advanced
2:00remaining
Pattern matching with multiple constant patterns
What is the output of this code snippet?
C Sharp (C#)
char letter = 'a';
string category = letter switch
{
    'a' or 'e' or 'i' or 'o' or 'u' => "Vowel",
    'y' => "Sometimes vowel",
    _ => "Consonant"
};
Console.WriteLine(category);
AConsonant
BSometimes vowel
CVowel
DCompilation error
Attempts:
2 left
💡 Hint
Check which constant pattern matches the letter 'a'.
❓ Predict Output
advanced
2:00remaining
Constant pattern with nullable value types
What will this code print?
C Sharp (C#)
int? number = 0;
string result = number switch
{
    0 => "Zero",
    null => "No value",
    _ => "Other"
};
Console.WriteLine(result);
AZero
BNo value
COther
DRuntime exception
Attempts:
2 left
💡 Hint
Remember how nullable types match constant patterns.
❓ Predict Output
expert
2:00remaining
Constant pattern with enums and default case
Given this enum and code, what is the output?
C Sharp (C#)
enum Status { Ready, Running, Stopped }

Status current = Status.Running;
string message = current switch
{
    Status.Ready => "Ready to start",
    Status.Stopped => "Stopped",
    _ => "In progress"
};
Console.WriteLine(message);
AIn progress
BStopped
CCompilation error
DReady to start
Attempts:
2 left
💡 Hint
Check which enum value matches the constant patterns.

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