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

String concatenation behavior in C Sharp (C#) - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
String Concatenation Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of concatenating strings and integers
What is the output of the following C# code?
C Sharp (C#)
string result = "Age: " + 20 + 5;
Console.WriteLine(result);
AAge: 205
B25
CCompilation error
DAge: 25
Attempts:
2 left
💡 Hint
Remember how C# evaluates string concatenation with numbers from left to right.
Predict Output
intermediate
2:00remaining
Concatenation with parentheses changing order
What is the output of this C# code snippet?
C Sharp (C#)
string result = "Age: " + (20 + 5);
Console.WriteLine(result);
AAge: 25
BAge: 205
C25
DCompilation error
Attempts:
2 left
💡 Hint
Parentheses change the order of operations.
Predict Output
advanced
2:00remaining
Concatenation with null strings
What will be printed by this C# code?
C Sharp (C#)
string s1 = null;
string s2 = "Hello";
string result = s1 + s2;
Console.WriteLine(result == null ? "null" : result);
Anull
BCompilation error
CHello
DnullHello
Attempts:
2 left
💡 Hint
Check how null strings behave when concatenated with non-null strings.
Predict Output
advanced
2:00remaining
Concatenation with StringBuilder and + operator
What is the output of this C# code?
C Sharp (C#)
var sb = new System.Text.StringBuilder();
sb.Append("Hi");
string result = sb + " there";
Console.WriteLine(result);
AHi there
BRuntime error
CCompilation error
DSystem.Text.StringBuilder there
Attempts:
2 left
💡 Hint
Consider how + operator works with StringBuilder and string.
Predict Output
expert
3:00remaining
Concatenation with overloaded + operator in custom class
Given the following class and code, what is the output?
C Sharp (C#)
public class MyString {
    public string Value;
    public MyString(string val) { Value = val; }
    public static string operator +(MyString a, string b) => a.Value + b;
}

var ms = new MyString("Hello");
string result = ms + " World";
Console.WriteLine(result);
ACompilation error
BHello World
CHelloWorld
DRuntime error
Attempts:
2 left
💡 Hint
Look at how the + operator is overloaded in the custom class.

Practice

(1/5)
1. What does the + operator do when used between two strings in C#?
easy
A. It multiplies the two strings.
B. It subtracts the second string from the first.
C. It joins the two strings into one longer string.
D. It compares the two strings for equality.

Solution

  1. Step 1: Understand the + operator with strings

    In C#, the + operator combines two strings by joining them end to end.
  2. Step 2: Check other options

    Subtracting, multiplying, or comparing strings are not done with +. Those operations use other operators or methods.
  3. Final Answer:

    It joins the two strings into one longer string. -> Option C
  4. Quick Check:

    String + String = Joined String [OK]
Hint: Remember: + joins strings like glue [OK]
Common Mistakes:
  • Thinking + subtracts or multiplies strings
  • Confusing + with comparison operators
  • Assuming + works only with numbers
2. Which of the following is the correct syntax to concatenate two strings str1 and str2 in C#?
easy
A. string result = str1 * str2;
B. string result = str1 + str2;
C. string result = str1 - str2;
D. string result = str1 / str2;

Solution

  1. Step 1: Identify valid operators for string concatenation

    The + operator is used to join strings in C#. Other arithmetic operators like -, *, / are invalid for strings.
  2. Step 2: Confirm syntax correctness

    The statement string result = str1 + str2; correctly concatenates and assigns the result.
  3. Final Answer:

    string result = str1 + str2; -> Option B
  4. Quick Check:

    Use + for string join [OK]
Hint: Use + to join strings, not arithmetic signs [OK]
Common Mistakes:
  • Using - or * instead of + for strings
  • Missing semicolon at end
  • Trying to divide or multiply strings
3. What is the output of this C# code?
string a = "Hello";
string b = "World";
string c = a + ", " + b + "!";
Console.WriteLine(c);
medium
A. Hello, World!
B. Hello World!
C. Hello,World!
D. HelloWorld!

Solution

  1. Step 1: Analyze string concatenation parts

    The code joins "Hello", ", ", "World", and "!" in order, so the result is "Hello, World!".
  2. Step 2: Confirm output of Console.WriteLine

    Console.WriteLine prints the combined string exactly as concatenated.
  3. Final Answer:

    Hello, World! -> Option A
  4. Quick Check:

    Strings + punctuation join as typed [OK]
Hint: Watch spaces and punctuation in concatenation [OK]
Common Mistakes:
  • Missing spaces or commas in output
  • Ignoring punctuation strings
  • Confusing concatenation order
4. Identify the error in this code snippet:
string first = "Good";
string second = "Morning";
string message = first + second;
message += 5;
Console.WriteLine(message);
medium
A. Missing space between first and second strings.
B. Cannot add integer 5 to a string using += operator.
C. Variable 'message' is not declared.
D. Console.WriteLine syntax is incorrect.

Solution

  1. Step 1: Check string concatenation and += usage

    The code concatenates "Good" and "Morning" without space, so message becomes "GoodMorning". Adding 5 converts 5 to string "5" and appends it, resulting in "GoodMorning5".
  2. Step 2: Identify the main issue

    The code runs without error, but the missing space between words is a logical mistake causing output to look wrong.
  3. Final Answer:

    Missing space between first and second strings. -> Option A
  4. Quick Check:

    Check spaces when joining strings [OK]
Hint: Add spaces explicitly when joining words [OK]
Common Mistakes:
  • Assuming += 5 causes error
  • Ignoring missing spaces in output
  • Thinking Console.WriteLine is wrong
5. Given a list of words string[] words = {"apple", "banana", "cherry"};, which code correctly concatenates them into a single comma-separated string using string.Concat?
hard
A. string result = string.Concat(words + ",");
B. string result = string.Concat(words[0] + words[1] + words[2]);
C. string result = string.Concat(words);
D. string result = string.Concat(words[0], ",", words[1], ",", words[2]);

Solution

  1. Step 1: Understand string.Concat usage

    string.Concat can join multiple strings passed as arguments. To add commas, they must be separate arguments.
  2. Step 2: Analyze each option

    string result = string.Concat(words[0], ",", words[1], ",", words[2]); passes each word and commas separately, correctly joining as "apple,banana,cherry". string result = string.Concat(words + ","); tries to add comma to array, invalid. string result = string.Concat(words); joins words without commas. string result = string.Concat(words[0] + words[1] + words[2]); concatenates words without commas inside Concat.
  3. Final Answer:

    string result = string.Concat(words[0], ",", words[1], ",", words[2]); -> Option D
  4. Quick Check:

    Pass each string and separator separately to Concat [OK]
Hint: Pass each string and comma separately to string.Concat [OK]
Common Mistakes:
  • Trying to add commas inside array
  • Passing array directly to Concat without separators
  • Using + inside Concat argument incorrectly