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

Composite formatting in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Composite Formatting Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of composite formatting with multiple placeholders
What is the output of the following C# code using composite formatting?
C Sharp (C#)
string result = string.Format("{0} scored {1} out of {2}.", "Alice", 85, 100);
Console.WriteLine(result);
AAlice scored 85 out of {2}.
BAlice scored 85 out of 100.
C0 scored 85 out of 100.
DAlice scored {1} out of {2}.
Attempts:
2 left
💡 Hint
Look at how placeholders {0}, {1}, and {2} are replaced by the arguments in order.
❓ Predict Output
intermediate
2:00remaining
Composite formatting with alignment and padding
What is the output of this C# code using composite formatting with alignment?
C Sharp (C#)
string result = string.Format("|{0,10}|{1,-5}|", 42, "Hi");
Console.WriteLine(result);
A| 42|Hi |
B|42 | Hi|
C|42|Hi|
D| 42| Hi|
Attempts:
2 left
💡 Hint
Positive alignment pads left side with spaces, negative pads right side.
🔧 Debug
advanced
2:00remaining
Identify the error in composite formatting
What error does this C# code produce when run?
C Sharp (C#)
string result = string.Format("{0} {1} {2}", "one", "two");
Console.WriteLine(result);
ASystem.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
BNo error, output: one two {2}
COutput: one two
DOutput: one two {2}
Attempts:
2 left
💡 Hint
Check if the number of placeholders matches the number of arguments.
🧠 Conceptual
advanced
2:00remaining
Understanding format specifiers in composite formatting
What is the output of this C# code using composite formatting with a format specifier?
C Sharp (C#)
double pi = 3.14159;
string result = string.Format("Pi rounded: {0:F2}", pi);
Console.WriteLine(result);
APi rounded: F2
BPi rounded: 3.14159
CPi rounded: 3
DPi rounded: 3.14
Attempts:
2 left
💡 Hint
The format specifier F2 means fixed-point with 2 decimal places.
❓ Predict Output
expert
2:00remaining
Composite formatting with nested braces and escaped characters
What is the output of this C# code using composite formatting with escaped braces?
C Sharp (C#)
string result = string.Format("{{0}} is not a placeholder, but {0} is.", 123);
Console.WriteLine(result);
A{0} is not a placeholder, but {0} is.
B0 is not a placeholder, but 123 is.
C{0} is not a placeholder, but 123 is.
DSystem.FormatException
Attempts:
2 left
💡 Hint
Double braces {{ and }} are used to escape braces in composite formatting.

Practice

(1/5)
1. What does composite formatting in C# allow you to do?
easy
A. Create new data types
B. Mix text and variable values in one string easily
C. Write comments inside strings
D. Declare variables without types

Solution

  1. Step 1: Understand composite formatting purpose

    Composite formatting lets you combine text and values in one string using placeholders.
  2. Step 2: Identify correct description

    Only Mix text and variable values in one string easily describes mixing text and values easily, which is the main use of composite formatting.
  3. Final Answer:

    Mix text and variable values in one string easily -> Option B
  4. Quick Check:

    Composite formatting = mix text and values [OK]
Hint: Remember: curly braces hold values inside strings [OK]
Common Mistakes:
  • Thinking composite formatting creates new types
  • Confusing comments with formatting
  • Assuming it changes variable declarations
2. Which of the following is the correct syntax for composite formatting in C#?
easy
A. Console.WriteLine("Hello {0}", name);
B. Console.WriteLine("Hello %0", name);
C. Console.WriteLine("Hello $0", name);
D. Console.WriteLine("Hello #0", name);

Solution

  1. Step 1: Recall composite formatting syntax

    Composite formatting uses curly braces with an index number like {0} to insert values.
  2. Step 2: Match syntax to options

    Only Console.WriteLine("Hello {0}", name); uses curly braces and index correctly: "Hello {0}".
  3. Final Answer:

    Console.WriteLine("Hello {0}", name); -> Option A
  4. Quick Check:

    Curly braces + index = correct syntax [OK]
Hint: Look for curly braces with numbers inside [OK]
Common Mistakes:
  • Using % or $ instead of curly braces
  • Forgetting the index number inside braces
  • Placing variables inside the string directly
3. What is the output of this code?
int x = 5;
double y = 3.14159;
Console.WriteLine("X = {0}, Y = {1:F2}", x, y);
medium
A. X = 5, Y = 3.1
B. X = 5, Y = 3.14159
C. X = {0}, Y = {1:F2}
D. X = 5, Y = 3.14

Solution

  1. Step 1: Understand format specifier {1:F2}

    The specifier F2 formats the double to 2 decimal places, so 3.14159 becomes 3.14.
  2. Step 2: Substitute values into placeholders

    {0} is replaced by 5, {1:F2} by 3.14, so output is "X = 5, Y = 3.14".
  3. Final Answer:

    X = 5, Y = 3.14 -> Option D
  4. Quick Check:

    Format specifier F2 rounds to 2 decimals [OK]
Hint: F2 means 2 decimals for numbers [OK]
Common Mistakes:
  • Ignoring format specifier and printing full double
  • Printing placeholders literally
  • Rounding incorrectly to 1 decimal
4. Identify the error in this composite formatting code:
int a = 10;
int b = 20;
Console.WriteLine("Values: {0} and {2}", a, b);
medium
A. Index 2 is out of range for arguments
B. Missing semicolon after WriteLine
C. Variables a and b are not declared
D. Curly braces should be square brackets

Solution

  1. Step 1: Check placeholders and arguments count

    Placeholders {0} and {2} are used, but only two arguments (a and b) exist at indexes 0 and 1.
  2. Step 2: Identify invalid index

    Index 2 does not exist in arguments, causing an error.
  3. Final Answer:

    Index 2 is out of range for arguments -> Option A
  4. Quick Check:

    Placeholder index must match argument count [OK]
Hint: Check if placeholder indexes match argument count [OK]
Common Mistakes:
  • Using placeholder index beyond arguments
  • Confusing syntax errors with formatting errors
  • Assuming curly braces can be replaced
5. You want to format a date and a number in one string like this:
"Date: 2024-06-15, Price: $123.46"
Which composite formatting code produces this output?
DateTime d = new DateTime(2024, 6, 15);
double price = 123.4567;
Console.WriteLine(???);
hard
A. "Date: {0}, Price: {1}", d.ToShortDateString(), price
B. "Date: {0:MM/dd/yyyy}, Price: ${1:F2}", d, price
C. "Date: {0:yyyy-MM-dd}, Price: ${1:F2}", d, price
D. "Date: {0:yyyy-MM-dd}, Price: {1:F2}", d, price

Solution

  1. Step 1: Match date format to output

    The output date is "2024-06-15", which matches format "yyyy-MM-dd" used in "Date: {0:yyyy-MM-dd}, Price: ${1:F2}", d, price and D.
  2. Step 2: Match price format to output

    Price is "$123.46" (rounded to 2 decimals, with $ sign). "Date: {0:yyyy-MM-dd}, Price: ${1:F2}", d, price uses ${1:F2} which prints $ and 2 decimals exactly. D uses {1:F2} which formats to 2 decimals but lacks the $ sign.
  3. Step 3: Choose exact match

    "Date: {0:yyyy-MM-dd}, Price: ${1:F2}", d, price matches the exact output format given.
  4. Final Answer:

    "Date: {0:yyyy-MM-dd}, Price: ${1:F2}", d, price -> Option C
  5. Quick Check:

    Date format + F2 for decimals = exact output [OK]
Hint: Use yyyy-MM-dd for date and F2 for 2 decimals [OK]
Common Mistakes:
  • Using wrong date format like MM/dd/yyyy
  • Using currency format {1:C} without controlling decimals
  • Not including $ sign explicitly
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