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

String type and immutability in C Sharp (C#) - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does it mean that strings are immutable in C#?
It means once a string is created, it cannot be changed. Any modification creates a new string instead of changing the original.
Click to reveal answer
beginner
How do you create a new string by changing part of an existing string?
You create a new string by using methods like Replace, Substring, or concatenation. The original string stays the same.
Click to reveal answer
intermediate
Why is string immutability useful in programming?
It helps avoid unexpected changes, makes programs safer, and allows strings to be shared safely across different parts of a program.
Click to reveal answer
intermediate
What happens in memory when you modify a string in C#?
A new string object is created in memory with the changes, and the old string remains unchanged until garbage collected.
Click to reveal answer
beginner
Which C# type is immutable: String or StringBuilder?
String is immutable, while StringBuilder is mutable and allows changes without creating new objects.
Click to reveal answer
What happens when you call Replace on a string in C#?
AA new string is created with the replacements.
BThe original string is changed directly.
CAn error occurs because strings cannot be changed.
DThe string is deleted.
Why are strings immutable in C#?
ATo improve safety and performance by preventing accidental changes.
BBecause strings are stored in a special file.
CTo allow strings to be changed faster.
DBecause C# does not support changing strings.
Which type should you use for many string changes to improve performance?
Aint
BString
CStringBuilder
Dchar
If you do this: string s = "cat"; s += "s"; what happens?
AThe original string "cat" changes to "cats".
BA new string "cats" is created and s points to it.
CAn error occurs because strings cannot be changed.
DThe string s becomes null.
Which statement is true about string immutability?
AStrings can be changed directly.
BStrings are stored as arrays of integers.
CStrings are mutable by default.
DStrings cannot be changed after creation.
Explain what string immutability means and why it is important in C#.
Think about how changing a string actually works behind the scenes.
You got /4 concepts.
    Describe the difference between String and StringBuilder in terms of mutability.
    Consider performance when changing strings many times.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does it mean that strings in C# are immutable?
      easy
      A. Once created, the string cannot be changed; any modification creates a new string.
      B. Strings can be changed directly without creating a new string.
      C. Strings are stored as numbers internally.
      D. Strings can only contain letters and no numbers.

      Solution

      1. Step 1: Understand immutability concept

        Immutability means the value cannot be changed after creation.
      2. Step 2: Apply to strings in C#

        In C#, strings cannot be changed once created; any change makes a new string.
      3. Final Answer:

        Once created, the string cannot be changed; any modification creates a new string. -> Option A
      4. Quick Check:

        String immutability = cannot change original string [OK]
      Hint: Remember: strings never change, they create new copies [OK]
      Common Mistakes:
      • Thinking strings can be changed in place
      • Confusing immutability with read-only variables
      • Assuming strings only hold letters
      2. Which of the following is the correct way to declare a string variable in C#?
      easy
      A. string name = "Alice";
      B. String name = 'Alice';
      C. string name = Alice;
      D. String name = Alice;

      Solution

      1. Step 1: Check string declaration syntax

        In C#, strings use double quotes and the lowercase keyword 'string'.
      2. Step 2: Identify correct syntax

        string name = "Alice"; uses lowercase 'string' and double quotes correctly.
      3. Final Answer:

        string name = "Alice"; -> Option A
      4. Quick Check:

        Use double quotes and string keyword [OK]
      Hint: Use double quotes for strings and lowercase 'string' keyword [OK]
      Common Mistakes:
      • Using single quotes for strings
      • Omitting quotes around text
      • Confusing 'string' with 'String' casing
      3. What will be the output of this C# code?
      string s = "hello";
      s = s.ToUpper();
      Console.WriteLine(s);
      medium
      A. hello
      B. HELLO
      C. Hello
      D. Error

      Solution

      1. Step 1: Understand ToUpper() method

        ToUpper() returns a new string with all letters uppercase.
      2. Step 2: Assign new string to s and print

        Variable s is updated to the uppercase string, so printing s shows "HELLO".
      3. Final Answer:

        HELLO -> Option B
      4. Quick Check:

        ToUpper() creates uppercase string [OK]
      Hint: ToUpper() returns new uppercase string; assign it to variable [OK]
      Common Mistakes:
      • Assuming original string changes without assignment
      • Expecting lowercase output
      • Thinking ToUpper() modifies string in place
      4. Identify the error in this code snippet:
      string s = "test";
      s[0] = 'T';
      Console.WriteLine(s);
      medium
      A. Strings cannot be indexed in C#.
      B. Console.WriteLine requires parentheses.
      C. Cannot assign to string index because strings are immutable.
      D. Missing semicolon after string declaration.

      Solution

      1. Step 1: Check string indexing and assignment

        Strings can be indexed to read characters but cannot assign to indexes.
      2. Step 2: Understand immutability prevents changing characters

        Because strings are immutable, s[0] = 'T' causes a compile error.
      3. Final Answer:

        Cannot assign to string index because strings are immutable. -> Option C
      4. Quick Check:

        Strings immutable = no character assignment [OK]
      Hint: You can read chars by index but cannot assign to them [OK]
      Common Mistakes:
      • Trying to change string characters by index
      • Confusing indexing with arrays
      • Ignoring immutability rules
      5. Given this code, what will be the output?
      string original = "cat";
      string changed = original.Replace('c', 'b');
      Console.WriteLine(original);
      Console.WriteLine(changed);
      hard
      A. Error at Replace method
      B. bat bat
      C. cat cat
      D. cat bat

      Solution

      1. Step 1: Understand Replace method on strings

        Replace returns a new string with specified characters replaced; original string stays unchanged.
      2. Step 2: Analyze output of both Console.WriteLine calls

        original prints "cat" unchanged; changed prints "bat" with 'c' replaced by 'b'.
      3. Final Answer:

        cat bat -> Option D
      4. Quick Check:

        Replace returns new string, original unchanged [OK]
      Hint: Replace returns new string; original string stays same [OK]
      Common Mistakes:
      • Assuming original string changes after Replace
      • Expecting both outputs to be same
      • Thinking Replace modifies string in place
      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