What is the difference between string and stringbuilder in c#?

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.

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.

StringBuilder sb = new StringBuilder(“”);

sb.Append(“hi”);

sb.Append(“test “);

string str = sb.ToString();

http://pramadha.com/

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

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s