Suponha que eu tenha um construtor de string em C # que faça isso:
StringBuilder sb = new StringBuilder();
string cat = "cat";
sb.Append("the ").Append(cat).(" in the hat");
string s = sb.ToString();
isso seria tão eficiente ou mais eficiente quanto ter:
string cat = "cat";
string s = String.Format("The {0} in the hat", cat);
Se sim, por quê?
EDITAR
Após algumas respostas interessantes, percebi que provavelmente deveria ter sido um pouco mais claro no que estava perguntando. Eu não estava perguntando o que era mais rápido na concatenação de uma string, mas o que é mais rápido ao injetar uma string em outra.
Nos dois casos acima, quero injetar uma ou mais seqüências no meio de uma sequência de modelo predefinida.
Desculpe pela confusão
string s = "The "+cat+" in the hat";
pode ser o mais rápido, a menos que seja usado em um loop; nesse caso, o mais rápido será com uma StringBuilder
inicializada fora do loop.