What?s the difference between System.String and
System.StringBuilder classes?
Answer Posted / sandeep joshi
String and StringBuilder class stores strings. But when you
cannot change a String object after creating one.
eg: String name = "Joshi";
By saying you cannot change the name object means you
cannot change the value in name object internally. When you
change the name object value to something else, a new
String object is creating in memory and assign the new
value.
eg: name = "Sandeep Joshi";
A new name object is creating in memory and the
value "Sandeep Joshi" is assinging to the newly created
space.
But StringBuilder class occupies the same space even if you
change the value.
If you are doing string concatenation StringBuilder class
is far better in performance than String class.
You can use StringBuilder's Append() method to use
concatenation and also use Reverse,Remove methods.
Usually, String is immutable which means once you have the
content there you cannot change it. While StringBuilder is
mutable because it allows you to change the content you
have already placed.
Notice that a string allows you to change the content but
offcourse it creates a new string reference. For example,
all string methods return a new string and don't update the
same string variable.
| Is This Answer Correct ? | 10 Yes | 2 No |
Post New Answer View All Answers
Difference between value and reference type.
What is an abstract class c#?
what is the difference between interface and multiple interface?
What are desktop applications examples?
Write a C# program to find the Factorial of n
Explain what is copy constructor?
Can I call a virtual method from a constructor/destructor?
Are there functions in c#?
What is parameters in c#?
What is hash c#?
Is c# pass by value?
If I have more than one version of one assemblies, then how'll I use old version (how/where to specify version number?)in my application?
How to find the current application file path while runtime?
What is an int in c#?
What is difference between a type and class?