String Concatenation vs. StringBuilder.Append
I had a question the other day in an interview about the performance of StringBuilder and while I had run performance tests with StringBuilder in the past I had never really looked under the covers to determine why StringBuilder was or wasn't faster then string concatenation. So now I am going to ask you given the following code which function on the average is faster and why?
public static string StringBuilderConcat(string a, string b)
{
StringBuilder x = new StringBuilder();
x.Append(a);
x.Append(b);
return x.ToString();
}
public
static string StringConcat(string a, string b)
{
string x = a + b;
return x;
}
Now what if we introduce this function?
public static string StringBuilderConcat2(string a, string b)
{
StringBuilder x = new StringBuilder(a.Length + b.Length);
x.Append(a);
x.Append(b);
return x.ToString();
}
--Eric (Grand Valley State University)