📖 Scenario: You are building a simple program that checks the type of fruit and prints a message based on the fruit name.
🎯 Goal: Learn how to use constant patterns with switch expressions in C# to match exact values.
📋 What You'll Learn
Create a string variable called fruit with a specific fruit name.
Create a switch expression using constant patterns to check the fruit.
Print a message for each fruit using Console.WriteLine.
💡 Why This Matters
🌍 Real World
Constant patterns help you check exact values easily, like checking user input or commands in programs.
💼 Career
Understanding constant patterns is useful for writing clear and concise code in many C# applications, including web, desktop, and game development.
Progress0 / 4 steps
1
Create the fruit variable
Create a string variable called fruit and set it to the value "Apple".
C Sharp (C#)
Hint
Use string fruit = "Apple"; to create the variable.
2
Create a switch expression with constant patterns
Create a variable called message and assign it a switch expression that matches fruit using constant patterns for "Apple", "Banana", and "Orange". For each fruit, return a message like "You chose Apple". Use _ as the default pattern returning "Unknown fruit".
C Sharp (C#)
Hint
Use the switch expression syntax with constant patterns like "Apple" => "You chose Apple".
3
Add a Console.WriteLine to print the message
Use Console.WriteLine to print the message variable.
C Sharp (C#)
Hint
Use Console.WriteLine(message); to display the message.
4
Test with a different fruit value
Change the value of fruit to "Grape" and run the program to see the default message "Unknown fruit" printed.
C Sharp (C#)
Hint
Set fruit to "Grape" and run the program to see the default case message.
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.