Constant patterns let you check if a value matches a fixed value easily. It helps you compare values in a clear way.
When you want to run code only if a variable equals a specific number or word.
When you use a switch statement and want to check for exact matches.
When you want to simplify if-else checks for fixed values.
When you want your code to be easier to read by clearly showing what values you expect.
Syntax
C Sharp (C#)
case constant_value:
// code to runbreak;
The constant_value can be a number, string, or any fixed value.
This is often used inside switch statements or is expressions.
Examples
This checks if number is 5 or 10 and prints a message.
C Sharp (C#)
int number = 5;
switch (number)
{
case5:
Console.WriteLine("Number is five.");
break;
case10:
Console.WriteLine("Number is ten.");
break;
}
This uses a constant pattern to check if obj equals the string "hello".
C Sharp (C#)
object obj = "hello";
if (obj is "hello")
{
Console.WriteLine("Greeting detected.");
}
Sample Program
This program uses constant patterns in a switch and an if statement to check fixed values and print messages.
C Sharp (C#)
using System;
class Program
{
staticvoid Main()
{
int day = 3;
switch (day)
{
case1:
Console.WriteLine("Monday");
break;
case2:
Console.WriteLine("Tuesday");
break;
case3:
Console.WriteLine("Wednesday");
break;
default:
Console.WriteLine("Another day");
break;
}
object greeting = "hello";
if (greeting is "hello")
{
Console.WriteLine("We said hello!");
}
}
}
OutputSuccess
Important Notes
Constant patterns compare values exactly, so types must match or be compatible.
They make code easier to read compared to multiple if-else statements.
Summary
Constant patterns check if a value equals a fixed value.
They are often used in switch statements and is expressions.
They help write clear and simple code for exact value checks.
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
Step 1: Understand constant pattern purpose
Constant patterns compare a value to a fixed constant to see if they are equal.
Step 2: Apply to switch statement
In a switch, constant patterns match cases where the value equals the constant exactly.
Final Answer:
It checks if the value exactly matches a fixed constant. -> Option B
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
Step 1: Recall constant pattern syntax
The syntax uses is followed by the constant value to check equality.
Step 2: Check each option
if (x is 10) { } uses if (x is 10), which is correct. Others have syntax errors.
Final Answer:
if (x is 10) { } -> Option C
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
Step 1: Identify the value of 'number'
The variable 'number' is assigned the value 5.
Step 2: Match the switch cases
The switch checks cases 3 and 5. Since number is 5, it matches case 5 and prints "Five".
Final Answer:
Five -> Option A
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
Step 1: Understand constant pattern with object
Constant patterns can be used with object type to check if it equals a constant value.
Step 2: Check code correctness
The code uses obj is 10 correctly to check if obj equals 10. This is valid syntax and logic.
Final Answer:
No error, code is correct -> Option A
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
Step 1: Understand the goal
We want to count how many times 7 appears in the list.
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.
Final Answer:
if (n is 7) count++; -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.