Sunday, 19 January 2014

C# - Difference between String and Stringbuilder in C#, Asp.net

Here I will explain what is difference between string and stringbuilder in c# using asp.net.

Description

In previous articles I explained different types of constructors in c#, difference between overloading and overriding in c#, Delegates in c# with example, difference between datareader, dataset and dataadapter in c# and many articles relating to interview questions . Now I will explain difference between string and stringbuilder in c# using asp.net.

String

String is immutable. Immutable means once we create string object we cannot modify. Any operation like insert, replace or append happened to change string simply it will discard the old value and it will create new instance in memory to hold the new value.

Example


string str = "hi";
// create a new string instance instead of changing the old one
str += "test";
str += "help";
String Builder

String builder is mutable it means once we create string builder object we can perform any operation like insert, replace or append without creating new instance for every time.

Example


StringBuilder sb = new StringBuilder("");
sb.Append("hi");
sb.Append("test ");
string str = sb.ToString();
Differences

String
StringBuilder
It’s an immutable
It’s mutable
Performance wise string is slow because every time it will create new instance
Performance wise stringbuilder is high because it will use same instance of object to perform any action
In string we don’t have append keyword
In StringBuilder we can use append keyword
String belongs to System namespace
Stringbuilder belongs to System.Text namespace

No comments:

Post a Comment

Note: only a member of this blog may post a comment.