Skip to main content

Posts

Showing posts from January, 2011

Immutable String and Performance

String of the type System.String is immutable in the .Net Framework. That means any change to a String causes the runtime to create a new string and abandon the old one. Guess how many string references following code will create? //c# String s; s= "one"; //"one" s += " two"; //"one two" s += " three"; //"one two three" s += " four"; //"one two three four" Console.WriteLine(s); If you guessed it four, you are right. Most developers think this is only one string. After running the code only the last string has a reference, the other three are disposed off during garbage collection. Avoiding these kind of temporary string helps avoiding unnecessary garbage collection and hence helps improve performance. There are several ways to avoid temporary string 1. Use the Concat, Join or Format method of the String Class to join multiple items into a single statment. 2. Use StringBuilder Cla