What is the differnence between StringBuilder and String?

 Posted by Nagasundar_Tn on 12/4/2012 | Category: C# Interview questions | Views: 3179 | Points: 40
Answer:

"String" is immutable. That is we can not change the value of string once assigned. If we assign the value to string inside loops then each time the object will be destroyed and created again.
"StringBuilder" is mutable. That is the object will not be recreated if there is any modification, instead it will append the new value with old value. Consider the following piece of code:

   StringBuilder sbMutalble = new StringBuilder();

string sImmutable = "1";

for (int val = 1; val <= 9; val++)
{
sImmutable += val;
sbMutalble.Append(val);
}


Here the string varaible "sImmutable" will be recreated for 10 times, because in each time we are adding a new value to the existing value.
In case of stringbuilder the varaible "sbMutable" will not be recreated instead it will append the new values


Asked In: CTS | Alert Moderator 

Comments or Responses

Login to post response