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