C#.NET strings vs. StringBuilder: choose the correct statement about mutability and immutability.

Difficulty: Easy

Correct Answer: True

Explanation:

Introduction / Context:This tests whether you know that string in C# is immutable, whereas StringBuilder provides a mutable buffer for efficient in-place-like modifications.

Given Data / Assumptions:

  • Statement: Strings built using String are immutable; StringBuilder instances are mutable.

Concept / Approach:Immutability means any apparent modification of a string produces a new instance, leaving the original unchanged. StringBuilder maintains an internal resizable buffer permitting operations like Append, Insert, and Remove without creating a new string each time (until you call ToString()).

Step-by-Step Solution:

Create string s = 'a'; then s += 'b'; → returns a new string 'ab'.Create var sb = new StringBuilder('a'); then sb.Append('b'); → same sb buffer now holds 'ab'.

Verification / Alternative check:Use a memory profiler or check Object.ReferenceEquals before and after modifying a string versus a StringBuilder.

Why Other Options Are Wrong:Marking the statement as False contradicts the documented behavior of both types.

Common Pitfalls:Building long strings with + in loops, causing unnecessary allocations; prefer StringBuilder for repeated concatenations.

Final Answer:True

More Questions from Strings

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion