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

String interpolation and formatting in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

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%
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:#.###}
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
Which method is an alternative to string interpolation for formatting strings?
AToString()
BConsole.Write
CString.Format
DParse()
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
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

      1. Step 1: Understand string interpolation syntax

        The dollar sign $ before the string allows inserting variables inside curly braces.
      2. Step 2: Identify variable insertion

        The variable age is inserted where {age} appears, replacing the placeholder with its value.
      3. Final Answer:

        Inserts the value of age into the string at the placeholder. -> Option B
      4. 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

      1. Step 1: Recognize C# format specifier syntax

        In C#, inside interpolation braces, :0.00 formats numbers to two decimals.
      2. 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.
      3. Final Answer:

        double price = 9.99; string s = $"Price: {price:0.00}"; -> Option A
      4. 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

      1. Step 1: Evaluate expressions inside interpolation

        The expressions {x + y} and {x * y} calculate 5 + 3 = 8 and 5 * 3 = 15 respectively.
      2. 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".
      3. Final Answer:

        Sum: 8, Product: 15 -> Option C
      4. 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

      1. 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.
      2. Step 2: Identify correct syntax

        It should be {count,2:0} or similar. The dot without colon causes syntax error.
      3. Final Answer:

        Incorrect format specifier; cannot combine alignment and decimal format like that. -> Option D
      4. 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

      1. Step 1: Understand date format strings in interpolation

        Inside interpolation, {date:format} applies the format string to the DateTime object.
      2. 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.
      3. Final Answer:

        DateTime date = new DateTime(2024, 6, 15); string s = $"Year: {date:yyyy}, Month: {date:MM}, Day: {date:dd}"; -> Option A
      4. Quick Check:

        Use :format inside {} for DateTime formatting [OK]
      Hint: Use :yyyy, :MM, :dd inside {} for date formatting [OK]
      Common Mistakes:
      • Using property names as format strings
      • Forgetting leading zeros for month/day
      • Overusing ToString inside interpolation unnecessarily