Possible Duplicates:
Is String.Format as efficient as StringBuilder
C# String output: format or concat?
What is the performance priority and what should be the conditions to prefer each of the following:
String.Format("{0}, {1}", city, state);
or
city + ", " + state;
or
StringBuilder sb = new StringBuilder();
sb.Append(city);
sb.Append(", ");
sb.Append(state);
sb.ToString();
I personally use String.Format almost all of the time for two reasons:
For example, since some cultures use a comma as a decimal point you would want to ensure with either StringBuilder or String.Format that you specify CultureInfo.InvariantCulture if you wanted to ensure that numbers were formatted the way you intend.
Two more thing to note...
There is no relevant diference. But assuming that String.Format internally uses a StringBuilder (you can see that with the Reflector tool), using directly StringBuilder.Append should be faster.
EDIT: Of course that use "+" operator is the worst option since it creates a new string instance for each string that you are concatenating.