.NET String concatenation (+ & +=) vs. StringBuilder

Viewed 3613

I am reading a book called .NET Gotchas (well worth a read IMO), which illustrates the performance differences between String and StringBuilder, and it raised a question which I felt could not go unanswered! Whilst I do not know the internals of either class (without looking at reflected versions of these classes), I was wondering; since operators in .NET are overloadable, why did Microsoft not implement the String class to use StringBuilder internally and overload the concatenation operators to simply call .Append() in StringBuilder? I'm guessing there are some underlying reasons as to why this is not the case, and if so, why?

2 Answers
Related