Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is string interpolation in C#?
String interpolation in C# is a way to insert variables or expressions directly inside a string literal by prefixing the string with a $ symbol and placing the expressions inside curly braces {}.
Click to reveal answer
beginner
How do you format a number to show two decimal places using string interpolation?
Use a format specifier inside the curly braces, like this: $"{number:F2}". This will format the number to two decimal places.
Click to reveal answer
intermediate
What is the difference between String.Format and string interpolation?
String.Format is a method that formats strings using placeholders like {0}, {1}, etc., while string interpolation lets you embed expressions directly in the string with $ and {}. Interpolation is usually easier to read and write.
Click to reveal answer
intermediate
How can you align text using string interpolation?
Inside the curly braces, after the variable name, use a comma and a number to specify alignment. For example, $"{name,10}" right-aligns in 10 spaces, and $"{name,-10}" left-aligns.
Click to reveal answer
advanced
What happens if you use a format specifier that doesn't match the data type in string interpolation?
You will get a runtime error or unexpected output because the format specifier expects a certain type. For example, using a numeric format on a string will cause an error.
Click to reveal answer
Which symbol is used to start a string interpolation in C#?
A$
B#
C@
D%
✗ Incorrect
String interpolation in C# starts with the $ symbol before the string.
How do you format a number to show exactly 3 decimal places using string interpolation?
A{number:3}
B{number:F3}
C{number:.3f}
D{number:#.###}
✗ Incorrect
The format specifier F3 formats the number to 3 decimal places in C#.
What does this code output? string name = "Bob"; Console.WriteLine($"{name,5}");
A Bob (right-aligned in 5 spaces)
BBob (left-aligned in 5 spaces)
CBob (no spaces)
DError
✗ Incorrect
The comma 5 right-aligns the text in a field of width 5, so spaces appear before 'Bob'.
Which method is an alternative to string interpolation for formatting strings?
AToString()
BConsole.Write
CString.Format
DParse()
✗ Incorrect
String.Format uses placeholders and is an older way to format strings.
What will happen if you use {value:D2} where value is a string?
AOutputs 'D2'
BFormats string as decimal with 2 digits
COutputs the string unchanged
DThrows a runtime error
✗ Incorrect
The 'D2' format specifier expects a number; using it on a string causes a runtime error.
Explain how to use string interpolation in C# to include variables and format numbers.
Think about how you write variables inside a string with $ and {}.
You got /4 concepts.
Describe how to align text using string interpolation in C#.
Remember the syntax {variable,number} inside the string.
You got /4 concepts.
Practice
(1/5)
1. What does the following C# code do? int age = 25; string message = $"I am {age} years old.";
easy
A. Concatenates the string and integer without formatting.
B. Inserts the value of age into the string at the placeholder.
C. Causes a syntax error because of the dollar sign.
D. Creates a string with the text including curly braces literally.
Solution
Step 1: Understand string interpolation syntax
The dollar sign $ before the string allows inserting variables inside curly braces.
Step 2: Identify variable insertion
The variable age is inserted where {age} appears, replacing the placeholder with its value.
Final Answer:
Inserts the value of age into the string at the placeholder. -> Option B
Quick Check:
String interpolation = Insert variable value [OK]
Hint: Look for $ and {variable} to spot interpolation [OK]
Common Mistakes:
Thinking $ means string concatenation
Expecting curly braces to print literally
Confusing interpolation with format method
2. Which of the following is the correct syntax for formatting a double value to show two decimal places using string interpolation in C#?
easy
A. double price = 9.99; string s = $"Price: {price:0.00}";
B. double price = 9.99; string s = $"Price: {price,2}";
C. double price = 9.99; string s = $"Price: {price:.2f}";
D. double price = 9.99; string s = $"Price: {price.ToString("0.00")}";
Solution
Step 1: Recognize C# format specifier syntax
In C#, inside interpolation braces, :0.00 formats numbers to two decimals.
Step 2: Check each option's correctness
double price = 9.99; string s = $"Price: {price:0.00}"; uses correct format {price:0.00}. double price = 9.99; string s = $"Price: {price,2}"; uses comma which is for alignment, not decimals. double price = 9.99; string s = $"Price: {price:.2f}"; uses Python style .2f which is invalid in C#. double price = 9.99; string s = $"Price: {price.ToString("0.00")}"; calls ToString inside interpolation but with escaped quotes incorrectly.
Final Answer:
double price = 9.99; string s = $"Price: {price:0.00}"; -> Option A
Quick Check:
Format decimals with :0.00 inside {} [OK]
Hint: Use colon and format code inside braces for formatting [OK]
Common Mistakes:
Using Python or other language format codes
Confusing alignment comma with format colon
Trying to call methods inside interpolation incorrectly
3. What is the output of the following code?
int x = 5; int y = 3; string result = $"Sum: {x + y}, Product: {x * y}"; Console.WriteLine(result);
medium
A. Sum: 53, Product: 15
B. Sum: {x + y}, Product: {x * y}
C. Sum: 8, Product: 15
D. Sum: 8 Product: 15
Solution
Step 1: Evaluate expressions inside interpolation
The expressions {x + y} and {x * y} calculate 5 + 3 = 8 and 5 * 3 = 15 respectively.
Step 2: Check output formatting
The string inserts these values with a comma and space exactly as written, so output is "Sum: 8, Product: 15".
Final Answer:
Sum: 8, Product: 15 -> Option C
Quick Check:
Expressions inside {} are evaluated before output [OK]
Hint: Calculate expressions inside {} before output [OK]
Common Mistakes:
Thinking expressions print literally
Concatenating numbers as strings
Missing commas or spaces in output
4. Identify the error in this C# code snippet:
int count = 10; string message = $"Count is {count,2.0}"; Console.WriteLine(message);
medium
A. Variable count is not declared.
B. Missing dollar sign for string interpolation.
C. No error; code runs fine.
D. Incorrect format specifier; cannot combine alignment and decimal format like that.
Solution
Step 1: Understand alignment and format syntax
In interpolation, {variable,alignment:format} is correct. Here, {count,2.0} mixes alignment and format incorrectly without colon.
Step 2: Identify correct syntax
It should be {count,2:0} or similar. The dot without colon causes syntax error.
Final Answer:
Incorrect format specifier; cannot combine alignment and decimal format like that. -> Option D
Quick Check:
Use comma for alignment, colon for format separately [OK]
Hint: Use comma for alignment, colon for format inside {} [OK]
Common Mistakes:
Mixing alignment and format without colon
Forgetting dollar sign for interpolation
Assuming no error when syntax is wrong
5. You want to display a date in the format "Year: 2024, Month: 06, Day: 15" using string interpolation. Which code snippet correctly formats the DateTime object date to achieve this?
hard
A. DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date:yyyy}, Month: {date:MM}, Day: {date:dd}";
B. DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date.Year}, Month: {date.Month}, Day: {date.Day}";
C. DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date:Year}, Month: {date:Month}, Day: {date:Day}";
D. DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date.ToString("yyyy")}, Month: {date.ToString("MM")}, Day: {date.ToString("dd")}";
Solution
Step 1: Understand date format strings in interpolation
Inside interpolation, {date:format} applies the format string to the DateTime object.
Step 2: Compare options
DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date:yyyy}, Month: {date:MM}, Day: {date:dd}"; uses correct format codes yyyy, MM, dd inside interpolation. DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date.Year}, Month: {date.Month}, Day: {date.Day}"; uses properties but month/day will not have leading zeros. DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date:Year}, Month: {date:Month}, Day: {date:Day}"; uses invalid format names. DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date.ToString("yyyy")}, Month: {date.ToString("MM")}, Day: {date.ToString("dd")}"; calls ToString with escaped quotes incorrectly.
Final Answer:
DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date:yyyy}, Month: {date:MM}, Day: {date:dd}"; -> Option A
Quick Check:
Use :format inside {} for DateTime formatting [OK]
Hint: Use :yyyy, :MM, :dd inside {} for date formatting [OK]