What is the difference between “String” and “StringBuilder”?

The concepts of "String" and "StringBuilder" are similar to those in Java. Here are the differences between them in C#:

String is IMMUTABLE in C#.

  • It means if you defined one string then you couldn’t modify it. Every time you will assign some value to it, it will create a new string.



StringBuilder is MUTABLE in C#.

  • This means if any manipulation will be done on string, then it will not create a new instance every time.


Here's an example in C# to demonstrate the difference:
string name = "John"; name += " Doe"; // Creates a new string object StringBuilder sb = new StringBuilder("John"); sb.Append(" Doe"); // Modifies the StringBuilder object directly string finalName = sb.ToString(); // Converts the StringBuilder to a string

In this example, using the "+=" operator with strings creates a new string object when concatenating "John" and " Doe". On the other hand, StringBuilder allows direct modification of the string without creating additional objects, resulting in better performance when working with large amounts of text.

Post a Comment

Previous Post Next Post