Bird
Raised Fist0
DSA C#programming~20 mins

String Basics and Memory Representation in DSA C# - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
String Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this C# string code?
Consider the following C# code snippet. What will be printed?
DSA C#
string s1 = "hello";
string s2 = "hello";
Console.WriteLine(object.ReferenceEquals(s1, s2));
ATrue
BFalse
Chello
DCompilation error
Attempts:
2 left
💡 Hint
Think about how C# handles string literals in memory.
❓ Predict Output
intermediate
2:00remaining
What is the output after modifying a string variable?
What will be printed by this C# code?
DSA C#
string s = "abc";
s = s + "d";
Console.WriteLine(s);
Ad
Babc
Cabcd
DCompilation error
Attempts:
2 left
💡 Hint
Remember strings are immutable but concatenation creates a new string.
🔧 Debug
advanced
2:00remaining
What error does this code raise?
What error will this C# code produce when run?
DSA C#
string s = null;
int length = s.Length;
Console.WriteLine(length);
A0
BCompilation error
CIndexOutOfRangeException
DNullReferenceException
Attempts:
2 left
💡 Hint
Accessing a member on a null object causes an error.
🧠 Conceptual
advanced
2:00remaining
How many objects are created in memory?
How many string objects are created in memory after this code runs?
DSA C#
string a = "cat";
string b = "cat";
string c = new string(new char[] {'c','a','t'});
A2
B1
C3
D4
Attempts:
2 left
💡 Hint
Consider string interning and the new string constructor.
🚀 Application
expert
2:00remaining
What is the output of this string manipulation code?
What will be printed by this C# code snippet?
DSA C#
string s = "hello";
char[] arr = s.ToCharArray();
arr[0] = 'j';
string s2 = new string(arr);
Console.WriteLine(s);
Console.WriteLine(s2);
A
jello
jello
B
hello
jello
C
hello
hello
DCompilation error
Attempts:
2 left
💡 Hint
Strings are immutable; modifying the char array does not change the original string.

Practice

(1/5)
1. What does the string type in C# represent in memory?
easy
A. A list of integers representing ASCII codes
B. A sequence of characters stored as Unicode values
C. A mutable array of bytes
D. A pointer to a memory address without data

Solution

  1. Step 1: Understand string storage in C#

    C# strings store characters as Unicode, allowing international text.
  2. Step 2: Compare options with string behavior

    Only A sequence of characters stored as Unicode values correctly describes strings as sequences of Unicode characters.
  3. Final Answer:

    A sequence of characters stored as Unicode values -> Option B
  4. Quick Check:

    string = Unicode characters [OK]
Hint: Remember C# strings are Unicode sequences, not byte arrays [OK]
Common Mistakes:
  • Thinking strings are mutable arrays
  • Confusing ASCII with Unicode
  • Assuming strings are just pointers
2. Which of the following is the correct way to declare and initialize a string in C#?
easy
A. string s = "hello";
B. string s = hello;
C. string s = 'hello';
D. string s = "hello"; char[] arr = s;

Solution

  1. Step 1: Check string literal syntax

    In C#, string literals use double quotes, so "hello" is correct.
  2. Step 2: Validate each option

    string s = 'hello'; uses single quotes (for chars), B misses quotes, D tries to assign string to char array directly (invalid).
  3. Final Answer:

    string s = "hello"; -> Option A
  4. Quick Check:

    Strings use double quotes in C# [OK]
Hint: Use double quotes for strings, single quotes for chars [OK]
Common Mistakes:
  • Using single quotes for strings
  • Forgetting quotes around text
  • Assigning string directly to char array
3. What will be the output of the following C# code?
string s1 = "hello";
string s2 = "hello";
Console.WriteLine(object.ReferenceEquals(s1, s2));
medium
A. true
B. false
C. Compilation error
D. Runtime exception

Solution

  1. Step 1: Understand string interning in C#

    String literals with same content are interned and share the same reference.
  2. Step 2: Check ReferenceEquals for s1 and s2

    Since both are "hello" literals, ReferenceEquals returns true.
  3. Final Answer:

    true -> Option A
  4. Quick Check:

    String literals share references = true [OK]
Hint: String literals with same text share references [OK]
Common Mistakes:
  • Assuming ReferenceEquals returns false for equal strings
  • Confusing value equality with reference equality
  • Expecting runtime errors
4. Identify the error in the following C# code snippet:
string s = "test";
s[0] = 'T';
Console.WriteLine(s);
medium
A. Runtime error: index out of range
B. Syntax error: missing semicolon
C. Strings are immutable; cannot assign to s[0]
D. No error; output is "Test"

Solution

  1. Step 1: Check string mutability in C#

    Strings are immutable; individual characters cannot be changed by index.
  2. Step 2: Analyze assignment to s[0]

    Assigning to s[0] causes a compile-time error because strings cannot be modified this way.
  3. Final Answer:

    Strings are immutable; cannot assign to s[0] -> Option C
  4. Quick Check:

    Strings immutable = assignment error [OK]
Hint: Remember strings cannot be changed character-by-character [OK]
Common Mistakes:
  • Trying to modify string characters directly
  • Expecting runtime error instead of compile error
  • Assuming strings behave like char arrays
5. Given the following code, what will be the output?
string s = "hello";
string t = s + " world";
Console.WriteLine(s);
Console.WriteLine(t);

Choose the correct output representation.
hard
A. hello world hello
B. hello world hello world
C. hello world
D. hello hello world

Solution

  1. Step 1: Understand string concatenation and immutability

    Concatenation creates a new string; original string s remains unchanged.
  2. Step 2: Trace the output statements

    Console.WriteLine(s) prints hello; Console.WriteLine(t) prints hello world.
  3. Final Answer:

    hello hello world -> Option D
  4. Quick Check:

    Original string unchanged, new string created [OK]
Hint: Concatenation creates new string; original stays same [OK]
Common Mistakes:
  • Assuming original string changes after concatenation
  • Mixing order of printed strings
  • Confusing string references with values
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