Sunday, July 22, 2007


StringBuilder.AppendFormat() versus String.Format()

If you are familiar with .NET then you will probably already know that for efficiency, you should use a StringBuilder rather than concatenating strings in a loop. I recently wrote some code that looked similar to this:

StringBuilder sb = new StringBuilder();


sb.Append(String.Format("{0} {1}", areaCode, phoneNumber));

where this code was called many times in a loop (not instantiation of the StringBuilder, obviously). It turns out there is a better way of doing it, using one of the StringBuilder class’s methods:

sb.AppendFormat("{0} {1}", areaCode, phoneNumber);

As Dustin Campbell mentions here, the reason this has slightly better performance is because internally, String.Format() actually creates a StringBuilder and calls StringBuilder.AppendFormat()


Powered by Blogger