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()